本篇内容主要讲解“Python怎么爬取上道网项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么爬取上道网项目”吧!
为昌黎等地区用户提供了全套网页设计制作服务,及昌黎网站建设行业解决方案。主营业务为网站制作、做网站、昌黎网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
一、实现目标
获取对应的公司名称,保存文档。
二、项目准备
软件:PyCharm
需要的库:requests,fake_useragent,time
三、项目分析
如何网页访问?
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。导入需要的库、请求地址。
import requests from lxml import etree from fake_useragent import UserAgent import time class Shangdao(object): def __init__(self): self.url = "http://www.daogame.cn/qudao-p-2.html?s=/qudao-p-{}.html" #网站 def main(self): pass if __name__ == '__main__': Siper = Shangdao() Siper.main()
2. 随机产生UserAgent,防止反爬。
for i in range(1, 50): self.headers = { 'User-Agent': ua.random, }
3. 发送请求 获取响应, 页面回调,方便下次请求。
def get_page(self, url): res = requests.get(url=url, headers=self.headers) html = res.content.decode("utf-8") return html
4. 获取公司名称,for遍历。
def page_page(self, html): parse_html = etree.HTML(html) one = parse_html.xpath('//h3/a/text()') for i in one: print(i)
5. 写入文档。
f = open('公司.doc', 'a', encoding='utf-8') # 以'w'方式打开文件 f.write(str(i))
6. 调用方法,实现功能。
def main(self): stat = int(input("输 入 开 始 (2开始):")) end = int(input("输 入 结 束:")) for page in range(stat, end + 1): url = self.url.format(page) print(url) html = self.get_page(url) self.page_page(html) print("==================第%s页爬取成功!!!!=====================" % page)
项目优化:
设置时间延时。
time.sleep(1.4)
五、效果展示
点击绿色小三角运行输入起始页,终止页( 从0页开始 )。
渠道公司名,结果显示控制台。
保存文档。
到此,相信大家对“Python怎么爬取上道网项目”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
分享标题:Python怎么爬取上道网项目
本文来源:http://lswzjz.com/article/pehdej.html