soup = BeautifulSoup(
html_doc, #HTML文档字符串
'html.parser' #HTML解析器
from_encoding='utf8' #HTML文档的编码
)
这段代码会在from_encoding处报错invalid syntax
html_doc, #HTML文档字符串
'html.parser' #HTML解析器
from_encoding='utf8' #HTML文档的编码
)
这段代码会在from_encoding处报错invalid syntax
2016-09-14
最新回答 / UFO2015
# 初始化 class```pyclass UrlManage(object): def __init__(self): self.new_urls = set(); self.old_urls = set(); def add_new_url(self, url): # todo```
2016-09-13
最新回答 / 慕粉3182733
python3里面没有urllib2,只有urllib,跟2的用法不一样。我同时安装了python2和3,在解释2编写的代码的时候用2的解释器,解释3编写的代码的时候用3的解释器。开发环境是pycharm,可以更改settings里面的interpreter。如果是命令行的话可以用py -2或者py -3运行程序。如果环境变量2在前可以省略py -2,3同样。
2016-09-08
我也是输出一条之后 就crawl失败了。
后来修改了spider._main下的craw函数的try...except。
修改如下:
except Exception as f:
print "crawl failed !", f
然后我出来的是
Do you need to install the parser library?
然后我去parser.py下找错误
soup = BeautifulSoup(html_cont , "html.parser", from_encoding='utf-8')
是html.parser 不是html_parser
后来修改了spider._main下的craw函数的try...except。
修改如下:
except Exception as f:
print "crawl failed !", f
然后我出来的是
Do you need to install the parser library?
然后我去parser.py下找错误
soup = BeautifulSoup(html_cont , "html.parser", from_encoding='utf-8')
是html.parser 不是html_parser
2016-09-08
#利用正则表达式
import re #引入正则表达式模块
link3 = soup.find_all('a',href=re.compile(r'ill'))
for v in link3:
print(v.string)
import re #引入正则表达式模块
link3 = soup.find_all('a',href=re.compile(r'ill'))
for v in link3:
print(v.string)
2016-09-08
哈哈 我终于改成了既没有重复url又能最先爬相关网页的了 代码https://github.com/coldfreeboy/spider拿去
2016-09-07
最新回答 / 否则悲伤从何而来
那你唯一需要修改的就是“然后又随机选一个链接接着爬”,这边的规则应该是你自己想的算法吧建议你写一个方法,把和当前url的关键词按照某种规律,把当前页面的所有url“过滤”成自己需要的有“相关性”URL,就在UrlManger里面的get_new_url下,比如self.new_urls.getMyRulUrl(self.new_urls)
2016-09-07