欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python技术分享(二)

程序员文章站 2022-05-17 20:58:48
...

#爬虫案例
#1.html 前端
#2.python 第三方工具
#3.图书比价工具
#爬虫 大数据 大 数据
#前端 html(超文本标记语言) css(叠层样式) javascript(动态解释语言)(动态效果)
#html 爬虫的内容都是在html的标签

  • index.html
    简单网页编写

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>欢迎来到王者荣耀</h1>
<!--无序列表-->
<ul>
    <li><a href="https://pvp.qq.com/web201605/herodetail/112.shtml">鲁班七号</a></li>
    <li><a href="https://pvp.qq.com/web201605/herodetail/131.shtml">李白</a></li>
    <li><a href="https://pvp.qq.com/web201605/herodetail/136.shtml">武则天</a></li>
    <li><a href="https://pvp.qq.com/web201605/herodetail/142.shtml">安其拉</a></li>
</ul>
<!--p标签单独占一行-->
<!--<a href="http://www.neusoft.com">点击跳转至东软官网</a>-->
</body>
<p>请选择您的英雄出装</p>
<div>这是一个div标签</div>
<div id="container">
    <a href="http://www.neusoft.com">点击跳转至东软官网</a>
    <p class="action-checkbox">青岛理工大学</p>
</div>

<img src="安其拉.jpg" alt="哈哈哈">
</html>
  • use_xpath_demo.py
    读取本地文件的html文件的源代码 文件操作

#使用xpath语法进行html 解释 x path
# 读取本地文件的html文件的源代码 文件操作
# f=open(file='./static/index.html',mode='r',encoding='utf-8')
# html_data=f.read()
#导入lxml库

import lxml
#from 模块名 import 对象1,对象2
from lxml import  html
html_data=open(file='./static/index.html',mode='r',encoding='utf-8').read()
print(html_data)

#使用第三方lxml库进行html内容解释
#安装 :pip install lxml
selector=html.fromstring(html_data)
print(selector)
# / 代表根节点 要获取标签的内容需要在最后加 /text
h1=selector.xpath('/html/body/h1/text()')
print(h1)
#//代表从任意的位置出发
#//标签名1[@属性="属性值"]/标签2[@属性="属性值"]/.../text()
#获取a标签的内容
a=selector.xpath('//div[@id="container"]/a/text()')
print(a)

#获取a标签的链接属性
#与之前不同的是末尾加@属性名
link=selector.xpath('//div[@id="container"]/a/@href')
print(link)

#获取英雄的列表
ul_list=selector.xpath('//ul/li')
#len()获取元素的个数
print(len(ul_list))
#使用for循环遍历ul_list
for li in ul_list:
    hero=li.xpath('a/text()')
    print(hero)
  • spiger_dangdang.py
    当当网图书爬虫

#使用requests库 进行http请求
#安装requests
#导入requests
import requests
from lxml import html
url='http://search.dangdang.com/?key=9787115428028&act=input'
resp=requests.get(url)
print(resp)

html_data=resp.text
#print(html_data)
selecter=html.fromstring(html_data)

#获取图书信息
ul_list=selecter.xpath('//div[@id="search_nature_rg"]/ul/li')
print(len(ul_list))
#使用for循环
for li in ul_list:
    #书名
   title=li.xpath('a/@title')
   print(title)
    #价格

price=li.xpath('p[@class="price"]/span[1]/text()')
print(price)
  • spider_douban.py
    豆瓣影视爬虫

#豆瓣影视爬虫
import requests
from lxml import html
#爬虫页面地址
url="https://movie.douban.com/cinema/later/qingdao/"
# 请求服务器得到相应的内容
resp=requests.get(url)
html_data=resp.text
selector=html.fromstring(html_data)

#获取电影信息
ul_list=selector.xpath('//div[@class="intro"]')
print(len(ul_list))
#使用for循环
for film in ul_list:
    #电影名
    film_name=film.xpath('h3/a/text()')
    print("电影名:"+film_name[0])
    # 上映日期
    film_date=film.xpath('ul/li[1]/text()')
    print("上映日期:" + film_date[0])
    # 类型
    film_type=film.xpath('ul/li[2]/text()')
    print("类型:" + film_type[0])
    # 国家
    film_country = film.xpath('ul/li[3]/text()')
    print("国家:" + film_country[0])
    # 想看人数
    film_people = film.xpath('ul/li[4]/span[1]/text()')
    print("想看人数:" + film_people[0])
    print("----------------------------------")

相关标签: python 技术交流