这篇文章给大家聊聊关于scrapy爬网站源码分享,以及工具对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
python爬虫
001
我想通过自动抓取百度贴吧“python爬虫吧“里的帖子数据,找到那些付费写爬虫的帖子,赚点零花钱!为了尝试新鲜的技术,我用到了python里的request模块,因为这个模块把http请求编写简化了。而具体的html内容分析我还是用xpath技术。百度:request手册百度:xpath
002
分析下百度贴吧的url地址:“https://tieba.baidu.com/f?ie=utf-8&kw=python%E7%88%AC%E8%99%AB&fr=search”,其中中间的kw字段就是本次要爬区的贴吧名字“python爬虫吧”。先用request.get方法来get这个贴吧首页的帖子列表,我们希望能抓取出所有的帖子标题,通过标题来判断用户是否有需求和付费的想法。
importrequests
page=1大家看到没,get可以把params参数传入print(r.text)
request.get可以把get的参数通过数组传入!这段代码就获取了贴吧的首页,这里的page变量是为了将来获取其他分页的内容,预留的变量!
003
xpath不多讲了。接下来,重点就是分析首页html的结构,咱们打开chorme[开发者工具],找到帖子标题对应的css代码。然后用xpath方法获取这些帖子。看下面两个图,来理解这个过程:
AB5A9754-6CE7-44EF-9199-D29956832FFA.png
5934D6B4-9E8B-4799-AB2A-CE82A6946778.png
importrequests
fromlxmlimportetreepage=1大家看到没,get可以把params参数传入找到列表print(len(result))foriinrange(len(result)):
title=(result[i].xpath(".//div[@class='threadlist_titlepull_leftj_th_tit']/a/text()"))#找到标题
print(title)
请注意,最关键就是列表+帖子标题提取的两个xpath,这个需要对照chorme自己去调试才能写出来。初步成功,爬取标题的列表如下:
48[]
['新手求助关于asyncio库的问题']
['python2.7环境下爬图,初学者请多指教']
['江湖救急,来个大佬,如何用python监控手机的推送通知,可py交易']
['爬取中国裁判书文网遇到问题,求大神指点迷津']
['源码分享,爬取甜美妹子图妹子,就怕你硬盘不够大']
['求问这个今日头条的网址为什么不能获取完整代码']
['Python爬虫该怎么学习?学习步骤是什么?Python爬虫该怎么学习']
['无偿写爬虫,将你们的需求留下来,我来写']
['爬取图片保存之后只有一张图是怎么回事啊']
['分享慕课网七月老师的Python3入门+进阶课程视频']
['如何入门Python爬虫?']
['scrapy创建出现10060错误']
['那个大神指导这个错误是啥意思,我爬网站里所有的的图片,我一个']
['Python基础问题答疑帖']
['云计算与大数据路过,Python不会但是感兴趣有人带吗?']
['Python各种安装包,需要什么安装包可以在下方留言']
['有没有靠谱点的python微信学习交流群']
['跪求最新工商注册的新公司的数据源']
['scrapy框架使用默认的文件管道下载视频有问题']
['Python源码分享']
['那个网站的动态ip比较好']
['Python小白学习笔记,有需要的看过来哦,大家一起交流一起']
['为什么我用scrapy爬豆瓣电影250只能爬到200条?']
['有接项目的吗?']
['哪个大神帮我想想办法。怎么把range里面的url的结果全']
['爬了BOOS直聘和拉钩网的有关于python爬虫的岗位信息']
['请问Python有什么好的书可以推荐']
['这个怎么解决,导入json一直是灰色的,代码也运行不了']
['想练习爬虫,有推荐爬虫项目的吗']
['求助根据地址百度API批量爬取经纬度']
['Python爬取新浪微博【技术贴】']
['武汉python爬虫招聘']
['Python爬虫相关问题答疑帖']
['【求助】python爬虫的时候xpath获取网页内容出问题']
['做python爬虫的老哥们,爬虫经常加班吗?']
['爬取游民星空出现了一个尴尬的问题']
['高级爬虫']
['有工作过的前辈能指教一下吗']
['我学习了网络爬虫相关的技术,自己也做过一些爬虫程序,请问有项']
['输入pipinstallpyopenssl和pipi']
['〈td〉爬取问题']
['请教大佬们一个问题,爬虫可以实现抓取某个APP上所有的域名吗']
['有谁知道怎么获取抖音的ascpmas字段吗']
['启动不了qt5,怎么办,昨天还好好的呢']
['求大神帮解决,选项点不了,也运行不了']
['谁手上有爬贴吧里面帖子标题的码子,求一套热乎的']
['求帮助,cmd里看包应该是安装成功了可软件报错']
效果不错哦!
004
最后,解决分页问题,其实上面已经讲过了,page就是预留的分页参数,这里会把爬首页的代码抽成一个函数,然后再按page提取,直接放出最终的代码:
```
importrequests
fromlxmlimportetree
deftieba_req(page):
data={"id":"utf-8","kw":"python爬虫","pn":page}
r=requests.get('https://tieba.baidu.com/f',params=data)
print(content)
foriinrange(10):#来,给爷爬10页的
tieba_req(i*50)
deftrim(str):
if(str==''):
returnstr
elif(str[0]!='')and(str[-1]!=''):
returnstr
elifstr[0]=='':
returntrim(str[1:])
else:
returntrim(str[0:-1])
```
俺微信公号
好了,关于scrapy爬网站源码分享和工具的问题到这里结束啦,希望可以解决您的问题哈!
