0
点赞
收藏
分享

微信扫一扫

Python爬虫系列(一)初期学习爬虫的拾遗与总结(6.8更)


最近,为了提取裁判文书网的有关信息,自己迈入Python的学习之路,写了快两周的代码,自己写这篇文章总结下踩过的坑,还有遇到一些好的资料和博客等总结下(站在巨人肩膀上,减少重复工作),以便自己后期复习和参考和、分享给大家交流学习,也欢迎大家补充些精彩内容。

一、环境搭建和工具准备


二、Python基础视频教程


三、Python爬虫视频教程


四、Python爬虫的相关连接

五、正则表达式和BeautifulSoup、PhatomJS +Selenium、urllib的使用






六、自己爬取新浪新闻相关信息的实战





Python爬虫系列(一)初期学习爬虫的拾遗与总结(6.8更)_正则表达式

爬取页面




新闻评论数抽取函数

import re
import json
import requests
#js抓取新闻评论信息
commentURL='http://comment5.news.sina.com.cn/page/info?version=1&format=js&\
channel=gn&newsid=comos-{}&\
group=&compress=0&ie=utf-8&oe=utf-8&page=1&page_size=20&jsvar=loader_1491395188566_53913700'
def getCommentCounts(newsurl):
#获取新闻id
m=re.search('doc-i(.+).shtml',newsurl)
newsid=m.group(1)
#根据新闻id获取评论信息
comments=requests.get(commentURL.format(newsid))
#将信息解析为json格式
jd=json.loads(comments.text.strip('var loader_1491395188566_53913 700='))
return jd['result']['count']['total']





Python爬虫系列(一)初期学习爬虫的拾遗与总结(6.8更)_Python_02



新闻内文信息抽取函数

import requests

from datetime import datetime

from bs4 import BeautifulSoup

def getNewsDetail(newsurl):

result={}

res=requests.get(newsurl)

res.encoding='utf-8'

soup=BeautifulSoup(res.text,'html.parser')

result['title']=soup.select('#artibodyTitle')

timesource=soup.select('.time-source')[0].contents[0].strip()

result['dt']=datetime.strptime(timesource,'%Y年%m月%d日%H:%M')

result['source']=soup.select('.time-source span a')[0].text

result['article']=' '.join([p.text.strip() for p in soup.select('#artibody p')[:-1]])

result['editor']=soup.select('.article-editor')[0].text.lstrip('责任编辑:')

return result




Python爬虫系列(一)初期学习爬虫的拾遗与总结(6.8更)_Selenium_03



七、感想

这些天学习下来,Python爬虫思路和套路很明确,主要是我们要对不同网站(反爬等)设计不同爬取路线和方法,但是还是要求自己总结方法和积累知识吧,还有一点自己也希望能把爬虫运用到实际生活或者应用中(如果单纯的抽取一个网页信息其实没多大意思),比如尝试应用到批量下载一个网站的图片或者文件等等,让爬虫为我们服务。

举报

相关推荐

0 条评论