python所需要的库
- requests —这个库用于访问网站,并获取网页数据
- bs4 ---- 用户html的标签解析拿出我们所需要的数据
- threading — 使用多线程,可以让我们的爬虫执行效率变高
- xlwt — excel表格的操作,用户保存我们所爬下的数据
- time — 关于时间的操作
先初步介绍一下码云这个站,这个站是一个程序员的免费仓库,也被视为开源网站,我们爬下他的数据可以快速的通过excel搜索进行我们代码的帮助,废话不多说直接python写代码开始爬取
重写多线程,并且通过传入的url通过visited这个方法去返回他的源码,因为在此之前我就采集了1W个左右的网站链接,在这里就不写了,我把他保存在一个text文本里面
class Web(threading.Thread):
def __init__(self, url):
super().__init__()
global thread_number
thread_number += 1
print("已开启线程%s" % thread_number)
# 传入url,实例化
self.url = url
def visited(self):
global error
try:
# 访问这个url 去获取数据,去掉空格
r = requests.get(self.url[0:-1])
r.raise_for_status()
c = r.content.decode()
return c
except:
error += 1
return 'Error'
通过bs4库去解析拿出