课程
/后端开发
/Python
/Python开发简单爬虫
不知道为什么,只爬了一行:
craw 1 : https://baike.baidu.com/item/Python
craw failed
请问怎么解决
2017-09-04
源自:Python开发简单爬虫 8-1
正在回答
将try。。。except。。。删除,然后查看是哪里出了问题,一步一步来分析解决,不然程序就只有报错,没有输出错误信息
spider_main.py中加入:
import sslssl._create_default_https_context = ssl._create_unverified_context
原因:会验证SSL 证书,而百度的https直接会失败。需要unverified处理。
我也出现了这个问题,刚刚解决掉。
第一,检查你的代码,是否全部和文中一样。
第二,如果一样,我的问题出在了html_parser中的_get_new_urls方法中,视频中老师写的那个正则表达式在现在的网页中是打不开的,需要写成符合现在网页中的超链接的href类型的表达式。我改为links=soup.find_all('a', href=re.compile(r"/item/[0-9a-zA-Z\%]+"))之后,正确返回了所有的抓取到的url以及文档。
不知道你的是什么原因,但你可以试一试,希望能够帮到你。
举报
本教程带您解开python爬虫这门神奇技术的面纱