目录
4.selenium + phantomjs 强大的网络爬虫
1.糗事百科-xpath
1.目标:用户昵称 段子内容 好笑数 评论数
2.步骤
1.找URL
https://www.qiushibaike.com/8hr/page/1/
2.xpath匹配
基准的xpath每个段子:
//div[contains(@id,"qiushi_tag_")]
用户昵称:./div/a/h2
段子内容:.//div[@class="content"]/span
好笑数量:.//i
评论数量:.//i
2.动态网站数据抓取 - Ajax
1.Ajax动态加载
1.特点:动态加载(滚动鼠标滑轮时加载)
2.案例:豆瓣电影top100榜单(剧情)
import requests
import json
import csv
url = "https://movie.douban.com/j/chart/top_list?"
params = {"type":"11",
"interval_id":"100:90",
"action":"",
"start":"0",
"limit":"200"}
headers = {"User-Agent":"Mozilla5.0"}
res = requests.get(url,params=params,headers=headers)
res.encoding = "utf-8"
# 得到的json格式的数组[]
html = res.text
# 把json格式的数组转为python的列表
L = json.loads(html)
for film in L:
score = film["rating"][0]
name = film["title"]
with open("豆瓣100.csv","a",newline="") as f:
writer = csv.writer(f)
writer.writerow([name,score])
3.json模块
1.作用:json格式类型 和 Python数据类型 相互转化
2.常用方法
1.json.loads(): json格式 --> Python数据类型
json python
对象 字典
数组 列表
2.json.dumps()
4.selenium + phantomjs 强大的网络爬虫
1.selenium
1.定义:Web自动化测试工具,应用于Web自动化测试
2.特点
1.可运行在浏览器上,根据指令操作浏览器,让浏览器自动加载页面
2.只是工具,不支持浏览器功能,只能与第三方浏览器结合使用
3.安装