电脑怎么样弄赞助网站(手把手教你用用Python爬取上道网的赞助公司名称)
一、前言
上道网是一个手游发行推荐与投融资交易平台。平台聚集手游CP、手游发行、手游渠道、手游外包,投资商以及IP授权商,IP合作、一站式服务。并为之提供合作交易机会。
今天教如何去爬取上道网的赞助公司名称,方便有关人士投资。
二、实现目标
获取对应的公司名称,保存文档。
三、项目准备
软件:PyCharm
需要的库:requests,fake_useragent,time
网址:http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-{}.html
四、项目分析如何网页访问?
http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-1.html
http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-2.html
http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-3.html
http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-4.html
点击下一页时,每增加一页p-{}.html自增加1,用{}代替变换的变量,再用for循环遍历这网址,实现多个网址请求。
五、项目实现1.定义一个class类继承object,定义init方法继承self,主函数main继承self。导入需要的库、请求地址。
importrequestsfromlxmlimportetreefromfake_useragentimportUserAgentimporttimeclassShangdao(object):def__init__(self):self.url="http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-{}.html"#网站defmain(self):passif__name__=='__main__':Siper=Shangdao()Siper.main()2.随机产生UserAgent,防止反爬。
foriinrange(1,50):self.headers={'User-Agent':ua.random,}3.发送请求获取响应,页面回调,方便下次请求。
defget_page(self,url):res=requests.get(url=url,headers=self.headers)html=res.content.decode("utf-8")returnhtml4.获取公司名称,for遍历。
defpage_page(self,html):parse_html=etree.HTML(html)one=parse_html.xpath('//h2/a/text()')foriinone:print(i)5.写入文档。
f=open('公司.doc','a',encoding='utf-8')#以'w'方式打开文件f.write(str(i))6.调用方法,实现功能。
defmain(self):stat=int(input("输入开始(2开始):"))end=int(input("输入结束:"))forpageinrange(stat,end+1):url=self.url.format(page)print(url)html=self.get_page(url)self.page_page(html)print("==================第%s页爬取成功!!!!====================="%page)项目优化:1.设置时间延时。
time.sleep(1.4)
六、效果展示
点击绿色小三角运行输入起始页,终止页(从0页开始)。
渠道公司名,结果显示控制台。
保存文档。
七、总结1.不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。2.希望通过这个项目,能够帮助了解xpath解析页面的基本流程,字符串是如何拼接,format函数如何运用。3.本文基于Python网络爬虫,利用爬虫库,实现爬取上道网,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/