资源简介
开发爬虫中,始终受困于爬虫的效率问题,后多方查看资料,根据已掌握的信息编写了该项目,此demo完全基于python的协程思想实现,不管是自己研究用还是应用到自己的项目中都可以。需要的小伙伴快下载来使用吧
代码片段和文件信息
from bs4 import BeautifulSoup
import requests
from urllib.parse import urlparse
start_url = ‘https://www.cnblogs.com‘
trust_host = ‘www.cnblogs.com‘
ignore_path = []
history_urls = []
def parse_html(html):
soup = BeautifulSoup(html “lxml“)
print(soup.title)
links = soup.find_all(‘a‘ href=True)
return (a[‘href‘] for a in links if a[‘href‘])
def parse_url(url):
url = url.strip()
if url.find(‘#‘) >= 0:
url = url.split(‘#‘)[0]
if not url:
return None
if url.find(‘javascript:‘) >= 0:
return None
for f in ignore_path:
if f in url:
return None
if url.find(‘http‘) < 0:
url = start_url + url
return url
parse = urlparse(url)
if parse.hostname == trust_host:
return url
def consumer():
html = ‘‘
while True:
url = yield html
if url:
print(‘[CONSUMER] Consuming %s...‘ % url)
rsp = requests.get(url)
html = rsp.content
def produce(c):
next(c)
def do_work(urls):
for u in urls:
if u not in history_urls:
history_urls.append(u)
print(‘[PRODUCER] Producing %s...‘ % u)
html = c.send(u)
results = parse_html(html)
work_urls = (x for x in map(parse_url results) if x)
do_work(work_urls)
do_work([start_url])
c.close()
if __name__ == ‘__main__‘:
c = consumer()
produce(c)
print(len(history_urls))
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1588 2019-10-21 14:10 python_spider.py
相关资源
- Python-定时爬取指定城市天气(一)
- python爬虫Scrapy(一)-我爬了boss数据
- sublime_package_control-python3.zip
- 豆瓣电影信息Python爬虫存入MongoDB.一分
- 遗传算法的Python实现
- 广工校园网心跳脚本 python
- Python爬虫文件:爬取图片的程序.py
- 02.6.利用Python SOCKET多线程开发FTP软件
- 搜狗词库(scel)转化成txt
- 模糊聚类python可执行完整代码
- Arcgis中利用python语言对多个shp文件进
- Arcgis中利用python语言对shp文件批量计
- Arcgis使用Python代码将栅格数据批量转
- python爬取新浪微博源代码
- python进阶篇34集全套视频云盘
- NAO机器人python源码,录音、动作、绕
- 使用Python进行图像处理
- python 实现购物程序
- Python高德交通态势爬取
- 安装步骤。提取码也在里面
- python3.5和python3.6的anaconda,以及pycha
- python登陆
- 基于SMTP的自动发邮件的设计实现Pyt
- Python高级编程和异步IO并发编程
- 廖雪峰最新Python3教程
- Python搜索爬虫抓取超高清视频
- 微博图片视频小爬虫
- Python 简单的登录界面源码
- python编程小游戏汉诺塔hanoi
- 小甲鱼零基础入门学习Python+全套源码
评论
共有 条评论