import requests from lxml import etree url='https://top.chinaz.com/hangye/index_yule_xiaoshuo.html' headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'} rqg=requests.get(url=url,headers=headers) rqg_text=rqg.text rqg.encoding='utf8' html=etree.HTML(rqg_text) node_list=html.xpath('//*[@id="content"]/div[4]/div[3]/div[2]') alexa=[] fls=[] for node in node_list: name=node.xpath('./ul/li/div[2]/h3/a/text()') website=node.xpath('./ul/li/div[2]/h3/span/text()') alexa1=node.xpath('./ul/li/div[2]/div/p[1]/span/text()') for i in range(len(alexa1)): alexa12=node.xpath('./ul/li/div[2]/div/p[1]/a/text()') for i in range(len(alexa12)): alexa.append(alexa1[i]+alexa12[i]) fls1=node.xpath('./ul/li/div[2]/div/p[4]/span/text()') for i in range(len(fls1)): fls2=node.xpath('./ul/li/div[2]/div/p[4]/a/text()') for i in range(len(fls2)): fls.append(fls1[i]+fls2[i]) pm=node.xpath('./ul/li/div[3]/div/strong/text()') score=node.xpath('./ul/li/div[3]/div/span/text()') text=node.xpath('./ul/li/div[2]/p/text()') print(name)
怎么实现简单的python翻页并且保存数据?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- python技巧(数据分析及可视化) 2021-03-29 08:49关注
实现翻页可以有2种:
第1种
- 找网页的规律, 可以通过如下方法构造你需要爬取的网址
lis1 = ['' if i ==1 else '_' +str(i) for i in range(1,10)] url = ['https://top.chinaz.com/hangye/index_yule_xiaoshuo{}.html'.format(i) for i in lis1]
- 通过for循环爬取每个网页的信息
- 保存数据创建一个空的dataframe, 通过标签节点获取数据,添加到dataframe中
第2种
- 用selenium 模拟浏览器, 点击翻页
简单的爬虫我也习惯用for循环, 这个你可以参考下:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效