[[SEO技术]] 百度爬虫是什么 Python3百度爬虫教程有哪些

[复制链接]
查看: 156|回复: 0
发表于 2023-6-24 20:13:04 | 显示全部楼层 | 阅读模式
易博V9下载

实现目标:爬取百度百科上python词条页面上的所有词条。

目标分析:

编写函数get_urls()爬取python词条页面上的所有词条的url,得到url后再用get_page()函数爬取该词条的页面内容,我们的目标是获得每个词条页面上的标题和简介内容,然后将爬取下来的信息利用pandas库保存到csv文件中。

百度爬虫是什么 Python3百度爬虫教程有哪些 


有需要Python学习资料的小伙伴吗? 小编整理一套Python资料和PDF,感兴趣者可以关注小编后私信学习资料(是关注后私信哦)反正闲着也是闲着呢,不如学点东西啦

具体分析:

选择第一个词条计算机程序设计语言时可以看到<a target=”_blank” href=”/item/计算机程序设计语言″>计算机程序设计语言</a>,因为每个词条的链接前面部分都是https://bAIke.baidu.com/item/,所以我们要获得item/后面的部分,再拼接成该词条的url。

对于每个词条,我们要爬取它的标题和简介内容,就要获取页面上的<h1>元素和<meta name=”description”>元素,都可以利用正则表达式进行匹配。

百度爬虫是什么 Python3百度爬虫教程有哪些 


代码实现:

# 爬取Python百度百科词条
import requests
import re
import pandas as pd
headers = {
 "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.89 "
 "Safari/537.36"
}
title_list = []
description_list = []
def get_urls(url):
 hrefs = []
 res = requests.get(url, headers=headers)
 res.encoding = "utf-8"
 data = re.findall(r'<a target=_blank href="/item/(.*?)">', res.text)
 for i in data:
 hrefs.append("https://baike.baidu.com/item/" + i)
 for href in hrefs:
 if '"' in href:
 href = href[:href.index('"')]
 get_page(href)
def get_page(url):
 res = requests.get(url, headers=headers)
 res.encoding = "utf-8"
 t = re.search(r'<h1 >(.*?)</h1>', res.text)
 title = t.group().lstrip('<h1 >').rstrip('</h1>').strip()
 d = re.search(r'name="description" content="(.*?)"', res.text)
 description = d.group().lstrip('name="description" content="').rstrip('"').strip()
 title_list.append(title)
 description_list.append(description)
if __name__ == '__main__':
 url = "https://baike.baidu.com/item/Python/407313?fr=aladdin"
 get_page(url)
 get_urls(url)
 infos = {'title': title_list, 'description': description_list}
 data = pd.DataFrame(infos, columns=['title', 'description'])
 data.to_csv("Python词条.csv")
 print("爬取成功!")
易博软件介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表