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

运行结果提问

首先python的百科词条目前貌似不是这个:http://baike.baidu.com/view/21087.htm

而是:http://baike.baidu.com/item/Python

而且,里面对应的其他url链接也是这种:http://baike.baidu.com/item/计算机程序设计语言

因此,我能想到的修改就是在主调程序spider_main里:root_url = "http://baike.baidu.com/item/Python"

另外,修改解析器中的正则匹配:

def _get_new_urls(self, page_url, soup):
   new_urls = set()
   # /view/123.htm
   links = soup.find_all('a', href=re.compile(r'/item/.'))
   for link in links:
       new_url = link['href']
       new_full_url = urlparse.urljoin(page_url, new_url)
       new_urls.add(new_full_url)
   return new_urls


但是运行结果显示,http://img1.sycdn.imooc.com//59263af60001eabf07160121.jpg

这样看来的话,我第一个网址都没解析出来,请问下老师这是什么原因呢?谢谢

正在回答

2 回答

==就是Javascript里面的等于号nbsp;=就是赋值号nbsp;nbsp;中间加空格就相当于nbsp;两个赋值号了nbsp;

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

如果使用的是python3的话中间一句不正确,无法组成新的url,从而让循环一直是错误,但是如果是循环停止的话,去除try,except进行运行差错,应该中间一个步骤出现了错误

new_full_url = parse.urljoin(page_url, new_url)


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

举报

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

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

进入课程

运行结果提问

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