新手入门爬虫lxml+Requests+MongoDB

  • 测试爬取一加社区

测试爬取一加社区

import  requests
from lxml import etree
import  pymongo
import proxyIP
import timedef get_UrlInfos(url,proxyIp):header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3493.3 Safari/537.36'}response = requests.get(url,proxies = proxyIp,headers = header).texthtml = etree.HTML(response)items = html.xpath('//tbody')for item in items:info = {'type':item.xpath('tr/th/div[2]/span/em/a')[0].text.strip() if len(item.xpath('tr/th/div[2]/span/em/a'))>0 else '','title':item.xpath('tr/th/div[2]/a/text()')[0],'author':item.xpath('tr/th/div[2]/div/em[2]/a/text()')[0].strip(),'time': item.xpath('tr/th/div[2]/div/em[3]/span/text()')[0].strip() if len(item.xpath('tr/th/div[2]/div/em[3]/span/text()'))>0 else item.xpath('tr/th/div[2]/div/em[3]/span/span/@title')[0],'view' :int(item.xpath('tr/th/div[2]/div/em[1]/text()')[0].split(':')[1]),'reply':int(item.xpath('tr/th/div[2]/div/em[1]/a/text()')[0].strip())}yijia.insert_one(info)if __name__ == '__main__':start = time.time()mongoclient = pymongo.MongoClient('127.0.0.1',27017)mydb = mongoclient['mydb']yijia = mydb['yijia']proxyIp = proxyIP.getIp()urls = ['http://www.oneplusbbs.com/forum-116-{}.html'.format(i) for  i in range(2,1000)]for url in  urls:get_UrlInfos(url,proxyIp)end = time.time()print("单线程完成耗时:%d"%(end-start))




多线程可以自己用multiprocessing玩一下

新手入门爬虫lxml+Requests+MongoDB相关推荐

  1. 怎么用python扒网页?新手入门爬虫第一篇!

    python爬虫网页的基本流程: 首先选取一部分精心挑选的种子URL. 将这些URL放入待抓取URL队列. 从待抓取URL队列中读取待抓取队列的URL,解析DNS,并且得到主机的IP,并将URL对应的 ...

  2. python pip-什么是pip?Python新手入门指南

    什么是 pip ?pip 是 Python 中的标准库管理器.它允许你安装和管理不属于 Python标准库 的其它软件包.本教程就是为 Python 新手介绍 pip. 通过本教程,你将学到: 1. ...

  3. Python爬虫新手入门教学(十):爬取彼岸4K超清壁纸

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  4. Python爬虫新手入门教学(十八):爬取yy全站小视频

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  5. Python爬虫新手入门教学(十七):爬取yy全站小视频

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  6. Python爬虫新手入门教学(十六):爬取好看视频小视频

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  7. Python爬虫新手入门教学(十三):爬取高质量超清壁纸

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  8. Python爬虫新手入门教学(九):多线程爬虫案例讲解

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  9. Python爬虫新手入门教学(十五):爬取网站音乐素材

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

最新文章

  1. python123期末测验答案程序题_python期末题库(2)带答案
  2. 从websphere6.1迁移到weblogic10.3的问题总结--转
  3. Java-Web HTTP协议
  4. VS远程开发(远程调试)编译报错:对‘xxx’未定义的引用(设置库依赖顺序)(已解决)pthread(项目-->属性-->链接器-->输入-->库依赖项)
  5. OWASP Mutillidae II:保持冷静并保持警惕——闯关小结
  6. 【最强VSCode】之管理MySql数据库
  7. 【在路上2】快递的运单轨迹
  8. rip协议中周期性广播路由信息的报文_RIP路由理论知识详解(一)
  9. bigdecimal正确用法_BigDecimal使用实践和注意事项
  10. (11)vue.js 指令(3)
  11. vue中的自定义分页插件组件
  12. 系统报 “client没有所需的特权” 的解决方法
  13. 菜鸟入坑》springboot整合mongodb问题1-Decimal128和BigDecimal的转换
  14. this.$nextTick() 学(cai)习(keng)
  15. 王子恢:手机视频牌照与行政权力租界
  16. MATLAB experiment<3>
  17. jQuery中toggle与slideToggle以及fadeToggle之间的不同
  18. 我做的一个java简单文本编辑器代码
  19. OSChina 周五乱弹 —— 程序员的战斗方式真是越来……
  20. 12 | 关于投简历,必须要注意的一些细节

热门文章

  1. HTML常用标签及软件(后端开发必备)
  2. 人工智能基础 作业4
  3. 基于Vue+ElementUI实现的数据分析后台管理系统
  4. 计算机房防凝露保温材料,数据中心机房墙面如何做保温?
  5. 宁盾上榜第五版《CCSIP 2022 中国网络安全行业全景册》
  6. 汽车齿轮齿条转向器设计(毕业论文 CAD图纸 开题报告……)
  7. html实现3D旋转地球
  8. 4G全网通工业路由器有哪些优点
  9. linux进程被信号杀死,linux杀死进程以及发送或响应信号
  10. Nutanix 替代专题 | SmartX 与 Nutanix 超融合市场、技术与性能对比