鱼C论坛

 找回密码
 立即注册
查看: 1156|回复: 4

[已解决]055课 爬百度百科“网络爬虫”的词条 问题

[复制链接]
发表于 2020-5-19 23:33:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请教各位大神:

0. 编写一个爬虫,爬百度百科“网络爬虫”的词条(链接 -> http://baike.baidu.com/view/284853.htm),将所有包含“view”的链接按下边格式打印出来

soup.find_all(href=re.compile("view"))

答案里的正则表达式为何这样写就可以了? 不是应该写成  href = re.compile("(包含各种字母数字符号)view (包含各种字母数字符号)")  这种形式吗?(此处我想表达的是  view 前后应该有很多字母数字符号 组成完整的链接地址)

为何直接 href=re.compile("view") 就能表示 含“view” 这个词 的链接???
最佳答案
2020-5-20 01:49:33
小甲鱼答案里的超链接都带有 'view'


                               
登录/注册后可看大图


但百度这几年词条里的超链接格式已经有些许的改变了,直接查找view已经没用了,只会出现几个和你想要的无关的链接

但是通过观察下图百度词条的审核元素发现他们都带有 'item' 这个字符,所以我们查找的应该是 'item' 而不是 'view'

观察规律.png

你可用把soup.find_all(href=re.compile("view"))改成 soup.find_all(href=re.compile("item"))[7:-1]  试着打印出来

ps: 这里为什么使用切片了 因为我通过调试发现这样匹配到的数据前七条都是不属于词条内超链接的链接,最后一条是编辑者的链接使用,所有这里过滤掉

回到你的问题:

href=re.compile("view") 的作用应该是编译一个正则表达式对象,然后被Beautiful Soup用于被find_all匹配所有href 中含有 view 的数据并返回成一个列表形式


如果对你有帮助,那就设置个最佳吧





想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-20 01:43:26 | 显示全部楼层
https://www.crummy.com/software/BeautifulSoup/bs4/doc/#calling-a-tag-is-like-calling-find-all
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-20 01:49:33 | 显示全部楼层    本楼为最佳答案   
小甲鱼答案里的超链接都带有 'view'


                               
登录/注册后可看大图


但百度这几年词条里的超链接格式已经有些许的改变了,直接查找view已经没用了,只会出现几个和你想要的无关的链接

但是通过观察下图百度词条的审核元素发现他们都带有 'item' 这个字符,所以我们查找的应该是 'item' 而不是 'view'

观察规律.png

你可用把soup.find_all(href=re.compile("view"))改成 soup.find_all(href=re.compile("item"))[7:-1]  试着打印出来

ps: 这里为什么使用切片了 因为我通过调试发现这样匹配到的数据前七条都是不属于词条内超链接的链接,最后一条是编辑者的链接使用,所有这里过滤掉

回到你的问题:

href=re.compile("view") 的作用应该是编译一个正则表达式对象,然后被Beautiful Soup用于被find_all匹配所有href 中含有 view 的数据并返回成一个列表形式


如果对你有帮助,那就设置个最佳吧





想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-20 08:16:47 | 显示全部楼层
你居然用爬虫爬取爬虫爬取的东西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-22 18:06:33 | 显示全部楼层
我想问一下,each.text是什么意思,为什么会返回中文
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 01:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表