'''
3、 糗事百科:xpath
http://www.qiushibaike.com/8hr/page/1
获取列表页每个帖子里的图片、用户昵称、段子内容、点赞次数和评论次数
选做:翻页
写到json文件中
'''import requests,os,json
from lxml import etreeclass Qiubai:def __call__(self, *args, **kwargs):self.get_xml(pages)def get_xml(self,pages):for page in range(1,pages+1):base_url = 'https://www.qiushibaike.com/8hr/page/'+str(page)+'/'headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36',}params = {}#网页转码为xmlxml = etree.HTML(requests.get(base_url,headers=headers).text)self.get_data(xml,page)#获取终止型号end_signal = xml.xpath( "/html/body/div[@id='content']/div[@class='content-block clearfix']/div[@class='col1 new-style-col1']/ul[@class='pagination']/li/a/span[@class='next']/text()")print('————————————————————',base_url)print('————————————————————',page,end_signal)if end_signal[0] == '\n更多\n' or int(page) == int(pages):print('##################################下载完成##################################')print(f'##################################共爬取前{page}页##################################')breakdef pages(selfm,xml):'''/html/body/div[@id='content']/div[@class='content-block clearfix']/div[@class='col1 new-style-col1']/ul[@class='pagination']/li[8]/a/span[@class='next']:return:'''#自动爬取到所有页面end_signal_get = xml.xpath("/html/body/div[@id='content']/div[@class='content-block clearfix']/div[@class='col1 new-style-col1']/ul[@class='pagination']/li[9]/a/span[@class='next']")def get_data(self,xml,page):path = './糗百/' + str(page) + '/'if not os.path.exists(path):os.makedirs(path)print(f'————————————————————————————————————开始爬取第{page}页————————————————————————————————————')#创建数据字典page_info_dict = {f'第{page}页': {},}#在大盒子获取每一个小盒子small_divs = xml.xpath("/html/body/div[@id='content']/div[@class='content-block clearfix']/div[@class='col1 new-style-col1']/div[@class='recommend-article']/ul/li")# print(small_divs)# print(len(small_divs))for index,small_div in enumerate(small_divs):#相关推荐_标题div_title = small_div.xpath("/html/body/div[@id='content']/div[@class='content-block clearfix']/div[@class='col1 new-style-col1']/div[@class='recommend-article']/ul/li[position()={}]/div[@class='recmd-right']/a[@class='recmd-content']/text()".format(str(index+1)))if not div_title:div_title = '未获取到数据'#相关推荐_图片地址div_imgs_path = small_div.xpath("/html/body/div[@id='content']/div[@class='content-block clearfix']/div[@class='col1 new-style-col1']/div[@class='recommend-article']/ul/li[position()={}]/a/img/@src".format(str(index+1)))if not div_imgs_path:div_imgs_path = '未获取到数据'#相关推荐 推荐_用户名div_username = small_div.xpath("/html/body/div[@id='content']/div[@class='content-block clearfix']/div[@class='col1 new-style-col1']/div[@class='recommend-article']/ul/li[position()={}]/div[@class='recmd-right']/div[@class='recmd-detail clearfix']/a[@class='recmd-user']/span[@class='recmd-name']/text()".format(str(index+1)))if not div_username:div_username = '未获取到数据'#相关推荐_likes_好笑span[2]_好笑指数span[1]div_likes = small_div.xpath("/html/body/div[@id='content']/div[@class='content-block clearfix']/div[@class='col1 new-style-col1']/div[@class='recommend-article']/ul/li[position()={}]/div[@class='recmd-right']/div[@class='recmd-detail clearfix']/div[@class='recmd-num']/span[1]/text()".format(str(index+1)))if not div_likes:div_likes = '未获取到数据'div_likes_title =   small_div.xpath("/html/body/div[@id='content']/div[@class='content-block clearfix']/div[@class='col1 new-style-col1']/div[@class='recommend-article']/ul/li[position()={}]/div[@class='recmd-right']/div[@class='recmd-detail clearfix']/div[@class='recmd-num']/span[2]/text()".format(str(index+1)))# 相关推荐_评论信息_评论数量[4]_评论标题span[5]div_comment = small_div.xpath("/html/body/div[@id='content']/div[@class='content-block clearfix']/div[@class='col1 new-style-col1']/div[@class='recommend-article']/ul/li[position()={}]/div[@class='recmd-right']/div[@class='recmd-detail clearfix']/div[@class='recmd-num']/span[4]/text()".format(str(index+1)))if not div_comment:div_comment = '未获取到数据'small_div_infos = {'标题': div_title[0],'首图地址': div_imgs_path[0],'用户名': div_username[0],'好笑': div_likes[0],'评论数量': div_comment[0],}#动态键值对page_info_dict[f"第{page}页"][f'第{index + 1}条'] = small_div_infos# print(page_info_dict)# json_data = json.dumps(page_info_dict,indent=4)json_data = json.dumps(page_info_dict)file_name = path + '第' +str(page) + '页'with open(file_name  ,'w',encoding='utf-8') as f :f.write(str(json_data))print(json_data)if __name__ == '__main__':pages = int(input('请输入需要爬取的页数'))# pages = 1qiubai = Qiubai()qiubai(pages)

使用python爬取猫眼电影、房王、股吧论坛、百度翻译、有道翻译、高德天气、华夏基金、扇贝单词、糗事百科(糗事百科)相关推荐

  1. (伪)Python爬取猫眼电影(反反爬虫过程中遇到的坑)

    Python爬取猫眼电影 1.打开一个猫眼电影的URL,例如本月的较火的电影<毒液:致命守护者>http://maoyan.com/films/42964 直接F12,查看审核元素,发现上 ...

  2. python爬取猫眼电影数据

    每天一点点,记录学习每一步 近期爬虫项目: 1:python 爬取菜鸟教程python100题,百度贴吧图片反爬虫下载,批量下载 2:python爬虫爬取百度贴吧图片,requests方法 3:pyt ...

  3. python猫眼电影分析_用Python 爬取猫眼电影数据分析《无名之辈》

    前言 作者: 罗昭成 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 http://note.youdao.com/noteshare?id=3054cce4add8a909e7 ...

  4. 利用python爬取猫眼电影,分析《大侦探皮卡丘》|凹凸数读

    利用python爬取猫眼电影,分析<大侦探皮卡丘>,看看当皮卡丘长出绒毛,"丑拒"还是"真香"都在猫眼短评里了. 本文首发于微信公众号<凹凸数 ...

  5. Python爬取猫眼电影TOP100榜

    Python爬取猫眼电影TOP100榜 兴趣点: 这个没什么特别的兴趣,只是单纯爬猫眼练手的人太多了,所以我也打算加入他们,对猫眼员工说一声不好意思了,哈哈哈! 爬取网址: 传送门:https://m ...

  6. python爬取猫眼电影

    爬取猫眼电影排名前一百的电影 验证问题不知道怎么解决,隔段时间要重新输一次链接' # -*- coding: utf-8 -*- """ Created on Wed D ...

  7. python 爬取猫眼电影网站数据

    完整代码下载:https://github.com/tanjunchen/SpiderProject/tree/master/maoyan python 爬取 movie.douban.com 网站 ...

  8. 使用python爬取猫眼电影、房王、股吧论坛、百度翻译、有道翻译、高德天气、华夏基金、扇贝单词、糗事百科(股吧论坛)

    ''' 翻页获取股吧数据 http://guba.eastmoney.com/ 获取10页信息,然后放到指定文件夹中 ''' ''' 爬取板块:国产芯片 思路:找规律第一页:http://so.eas ...

  9. Python爬取猫眼电影榜单评分,以及评论

    猫眼电影评论爬取 [目标] (1)爬取榜单电影名称以及评分,简单的数据可视化. (2)爬取< 你好,李焕英>的评论,用词云显示 第一步:了解反爬机制: 1.请求过多,ip地址会被封掉24h ...

最新文章

  1. python多线程_【python多线程02】各种线程锁
  2. python中x=x+1的读法-python中xrange和range的区别
  3. shiro学习(20): 自定义过滤规则
  4. bios uefi legacy_重装系统时,如何判断启动方式Legacy/UEFI,你知道吗
  5. tp 5.0 mysql 事物
  6. (转)AssetBundle系列——共享资源打包/依赖资源打包
  7. Servlet学习-MVC开发模式
  8. 关于最新的APP上架流程
  9. 安卓版 网易云音乐 6.4.3
  10. 北京思科CCNP和思科 CCIE考试常见问题GRE虚拟专用网络详解
  11. IDEA2019.3新版本 报错 Cannot resolve column 'ID'
  12. html圣杯布局,三种实现圣杯布局方法
  13. 爱的台阶之危险流浪者
  14. python plot 渐变颜色_创建渐变颜色贴图matplotlib
  15. 周集中团队Nature子刊中网络图布局的R语言可视化复现
  16. windows10系统盘瘦身
  17. pygame之窗口大小调整
  18. 方倍工作室微信相关代码下载方法
  19. 屏幕扩展之将手机变成显示器-Wired Xdisplay
  20. 安防工程属于计算机系统集成的文件,安防系统集成(工程)市场规模为960亿元

热门文章

  1. 有效的括号(leetcode简单)
  2. 艾美捷焦磷酸(PPi)分析试剂盒,高通量筛选神器
  3. Python爬虫入门学习实战项目(一)
  4. 极验验证码逆向(二)
  5. 【对讲机的那点事】带你玩转宝锋UV6R对讲机(三)
  6. 非常好用的论文写作模板!
  7. 字节算法题--N阶台阶,每次走一步或两步,计算共有多少种走法,并将每种走法打印出来。
  8. 模态振型的一些概念解释
  9. 电商横幅BANNER素材PSD分层模板|多品类,都能借鉴!
  10. 启明医疗完成对Keystone Heart有限公司的收购