- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
30个Python爬虫的实战项目(附源码)
Python爬虫技术是数据分析和网络自动化的重要工具。今天咱们一起来看
看30个实用的Python爬虫项目,从简单到复杂,保证你能学到真本事。
网页内容提取
爬虫入门得先学会从网页里提取内容。这儿有几个小项目,保准让你上手就
能用:
1.豆瓣电影Top250
这个项目简单实用,适合新手练手:
•••
1importrequests
2frombs4importBeautifulSoup
3
4url=https:///top250
5response=requests.get(url)
6soup=BeautifulSoup(response.text,html.parser)
7
8formovieinsoup.find_all(div,class_=item):
9title=movie.find(span,class_=title).text
10rating=movie.find(span,class_=rating_num).text
11print(f{title}:{rating})
这段代码能把豆瓣电影Top250的片名和评分抓出来。requests库用来
发送HTTP请求,BeautifulSoup则负责解析HTML。
温馨提示:爬取网站时要遵守robots.txt规则,别给人家服务器造成太大
压力。
2.知乎热门话题
知乎的热门话题变化快,用爬虫抓取能及时掌握热点:
•••
1importrequests
2fromlxmlimportetree
3
4url=https:///hot
5headers={User-Agent:Mozilla/5.0...}#记得填写完整
的User-Agent
6response=requests.get(url,headers=headers)
7
8html=etree.HTML(response.text)
9topics=html.xpath(//div[@class=“HotItem-content”]/h2/te
xt())
10
11fortopicintopics:
12print(topic)
这回咱们用了lxml库来解析HTML。它比BeautifulSoup快,但语法稍
微复杂点。
数据存储
抓到数据后,得把它存起来。这儿有几个存储数据的项目:
3.存储到CSV
CSV格式简单易用,适合存储表格型数据:
•••
1importcsv
2importrequests
3frombs4importBeautifulSoup
4
5url=http://
6response=requests.get(url)
7soup=BeautifulSoup(response.text,html.parser)
8
9quotes=[]
10forquoteinsoup.find_all(span,class_=text):
11quotes.append(quote.text)
12
13withopen(quotes.csv,w,newline=)asfile:
14writer=csv.writer(file)
15writer.writerow([Quote])
16forquoteinquotes:
17writer.writerow([quote])
这段代码把名言网站的内容爬下来,存成了CSV文件。用Excel打开就能
看。
4.存储到MongoDB
要是数据结构复杂,用MongoDB这种文档型数据库更合适:
•••
1importpymongo
2importrequests
3
4client=pymongo.MongoClient(mongodb://localhost:27017/)
5db=client[weather_db]
6col
您可能关注的文档
- 【技术分享】快速上手TkinterGUI编程,打造自己的计算器!.docx
- 【开发利器】vulture模块:发现Python代码中的“死”代码,让项目更清爽!.docx
- 【时间处理利器】PythonArrow模块,让你告别繁琐的datetime!.docx
- 【提升效率】学会使用aiofiles模块,让Python文件操作更高效!.docx
- 124个Python案例,完整源代码!.docx
- Aardio,一个牛逼的python库!.docx
- acos,一个经典的python库!.docx
- akshare,一个超强的Python库!.docx
- Alembic,一个数据库迁移工具!.docx
- Altair,一个声明式统计可视化的Python库!.docx
- DB12T 756-2017 在用柴油发动机货运车辆加装颗粒物捕集器技术条件.pdf
- DB12T 757-2018 麦田灌溉智能决策技术规程.pdf
- DB12T 767-2018 天津市行政许可事项操作规程建设工程施工许可—建筑工程施工许可 .pdf
- DB12T 724.23-2021 安全生产等级评定技术规范 第23部分:建材企业 .pdf
- DB12T 747-2017 高层公共建筑局部装修消防安全管理规范 .pdf
- DB12T 676.3-2016 高速公路联网收费技术要求 第3部分:非现金收费 .pdf
- DB12T 730-2017 天津市行政许可事项操作规程 建设用地批准书(国有土地划拨决定书)核发-出让用地 .pdf
- DB12T 700-2016 农产品冷链物流配送中心建设与运营规范.pdf
- DB12T 700-2016 商贸物流术语 .pdf
- DB12T 778-2018 城市道路路内机动车停车泊位设置规范.pdf
文档评论(0)