参考文章:http://www.jianshu.com/p/25341e5365d6
利用python爬虫来抓取你要的网页内容,实际上是对该内容的一次阅读,这样可以带来阅读量的增加,但这种完全可以用jmeter并发访问页面接口来搞定,所以仅作为Python学习案例。
这次以爬取我自己的CSDN博客为例,其他的网站也许要另行设置(还没试)。
使用python第三方包有:bs4、requests、time,利用以下命令安装:
pip3 install bs4
pip3 install requests
代码如下:
from bs4 import BeautifulSoup
import requests
import time
url =('http://blog.csdn.net/weixin_38222476/article/details/70159827')
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'}
# xrange( )函数是python 2.x中的一个函数,在Python 3中,range()的实现方式与xrange()函数相同,所以想在python 3中运行程序,将xrange( )函数全部换为range( )即可。
for i in range(10000):
time.sleep(1)
req = requests.get(url,headers =headers )
soup = BeautifulSoup(req.text,'lxml')
rank = soup.select('#blog_rank')
view = soup.select('.article_manage .link_view .title')
print (view)
print (i)
需要注意的是,如果运行代码时,提示以下错误:
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?
则需要重新安装lxml:
pip3 install lxml
代码中将间歇时间设置为2秒。
采用headers来隐藏,原因是:CSDN设置了防爬虫的措施。采用headers可以避开,成功获取CSDN网页内容。
网友评论