为了账号安全,请及时绑定邮箱和手机立即绑定

只出了两个结果= =后来调试出来了,但是拼接那出错,也不知道是什么原因一直拼接不成功

只出两条结果的看这里,刚写出来。每次爬去都只出一个  百科python,和史记连接显示,output只有python一个结果的 找了一下午原因、发现是url没有拼接成功 改了半天、但是就是找不出什么原因因为没有拼接成功 重新复制了一下入口网址和连接词的模糊匹配的路径,莫名其妙的就出来了= = 有大神给我解释一下咩

正在回答

3 回答

我之前也遇到过这种情况,纠结了很久,最后才发现一个非常重要的问题,百度的词条信息发生了变化,你可以仔细看看,现在不再是以 .htm结尾了,之前在html_parser模块中的正则表达式已经失效了,原来是href=re.compile(r"/view/\d+\.htm"),现在应该改为href=re.compile(r'/item/\w+')。这也再次证明了在采集数据前,一定要对目标进行仔细认真的分析!

1 回复 有任何疑惑可以回复我~

我也出现了跟你一样的问题,请问你具体是怎么解决的呢?谢谢

0 回复 有任何疑惑可以回复我~
#1

慕粉0542715 提问者

如果你那也是拼接不成功的话 主要就是看一下你的入口url和_get_new_urls正则匹配和urljoin是不是有问题 打印一下你的new_full_url = =本来说想粘贴一些代码 发现超了字数
2017-05-17 回复 有任何疑惑可以回复我~
#2

Ego_1973 回复 慕粉0542715 提问者

new_full_url没问题,但是第二次就还是craw faild
2017-05-18 回复 有任何疑惑可以回复我~
#3

慕粉0542715 提问者 回复 Ego_1973

那出现问题的地方可能就很多了。但应该主要就是由于调度器和解析器那块,但是下载器那也可能有问题、把try..exception 删了 打印一下你可能出错的地方的数据 检查代码了呗
2017-05-19 回复 有任何疑惑可以回复我~

拼接部分我是这么写的,环境是Python2.7.13

full_url = urlparse.urljoin('http://baike.baidu.com', '%s') % new_url[1:]

new_url[1:]用来去掉开头的“/”

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Python开发简单爬虫
  • 参与学习       227670    人
  • 解答问题       1219    个

本教程带您解开python爬虫这门神奇技术的面纱

进入课程

只出了两个结果= =后来调试出来了,但是拼接那出错,也不知道是什么原因一直拼接不成功

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信