数据采集概述
爬虫:批量化自动化从特定网页获取数据的脚本程序
Python爬虫技术
Python爬虫技能:
-
静态网页数据抓取(urllib/requests/BeautifulSoup/lxml)
-
动态网页数据抓取(ajax/phantomjs/selenium)
-
爬虫框架(scrapy)
-
补充知识:前端知识、数据库知识、文本处理技术
Python爬虫环境配置 -
平台:windows7/10
-
Python开发套件:anaconda 3.5以上(Python3.6)
-
MySQL数据库
-
mongoDB数据库
-
Navicat数据库客户端
-
PyCharm集成开发环境
-
chrome浏览器
Python爬虫四步基本框架 -
请求 urllib/requests
-
解析 BeautifulSoup/lxml
-
提取 css选择器/xpath表达式/正则表达式
-
存储 csv/MySQL/mongoDB等
urllib: python的标准库,提供了一系列操作URL的功能
直接使用urllib请求页面
from urllib.request import urlopen
url = "https://www.python.org/"
response = urlopen(url)
content = response.read()
# 需要解码
content = content.decode('utf-8')
print(content)
# 直接urlopen打开的方式太直白,有时候我们需要委婉一点进行请求
import urllib.request
url = "https://www.python.org/"
request = urllib.request.Request(url)
response = urllib.request.urlopen(request)
content = response.read().decode('utf-8')
#print(content)
print(response.geturl())
print(response.info())
### 打印请求状态码
print(response.getcode())
print(type(response))
requests请求库
import requests
res = requests.get('https://www.python.org/')
print(res.status_code)
print(res.text)
#print(res.content)
设置请求头headers
url = 'https://www.python.org/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}
res = requests.get(url, headers=headers)
print(res)
requests请求方法
- get
- post
解析库 BeautifulSoup
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.
import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.119 Safari/537.36'
}
url = 'http://news.qq.com/'
Soup = BeautifulSoup(requests.get(url=url, headers=headers).text.encode("utf-8"), 'lxml')
em = Soup.find_all('em', attrs={
'class': 'f14 l24'})
for i in em:
title = i.a.get_text()
link = i.a['href']
print({
'标题': title,
'链接': link
})
{‘标题’: ‘人民日报:美国贸易政策给世界经济增添下行风险’, ‘链接’: ‘https://new.qq.com/omn/20180923/20180923A06RBP.html’}
{‘标题’: ‘外媒关注广深港高铁开通 尝鲜乘客:我给它打9分’, ‘链接’: ‘https://new.qq.com/omn/20180923/20180923A0QKU4.html’}
{‘标题’: ‘哈梅内伊:阅兵式袭击黑手是美在中东“傀儡国”’, ‘链接’: ‘https://new.qq.com/omn/20180923/20180923A0CAG0.html’}
{‘标题’: ‘美智库公布2018全球军力排行:中国名列第几名?’, ‘链接’: ‘https://new.qq.com/omn/20180923/20180923A0EKRA.html’}
{‘标题’: ‘南航一毕业生用300架无人机表白母校照亮南京上空’, ‘链接’: ‘https://new.qq.com/omn/20180923/20180923V0TUVP.html’}
{‘标题’: ‘升级!外交部、文化和旅游部提醒中国公民在瑞典注意安全’, ‘链接’: ‘http://new.qq.com/omn/20180923/20180923A0MZXW.html’}
{‘标题’: ‘美国发生一起入室行凶案 致2名中国留学生一死一伤’, ‘链接’: ‘http://new.qq.com/cmsn/20180923/20180923006000.html’}
{‘标题’: ‘中国驻澳大利亚使馆提醒赴澳中国公民注意换汇安全’, ‘链接’: ‘http://new.qq.com/omn/20180923/20180923A0ZWZN.html’}
{‘标题’: ‘鸿茅药酒风波后销量回升 “神药”的命为啥这么硬?’, ‘链接’: ‘http://new.qq.com/omn/20180923/20180923A0SZ68.html’}
{‘标题’: ‘iPhone XS四次摔落实验结果:前后玻璃完好无损’, ‘链接’: ‘http://new.qq.com/cmsn/20180923/TEC2018092300765100’}
{‘标题’: ‘这两天为了捍卫领土主权,英国人叫嚣要与这个欧洲大国开战’, ‘链接’: ‘http://new.qq.com/omn/20180923/20180923A0MSEC.html’}
{‘标题’: ‘定性!俄国防部:俄伊尔-20被击落,以色列空军应负全责’, ‘链接’: ‘http://new.qq.com/omn/20180923/20180923A16T9E.html’}
{‘标题’: ‘因为发了本国总统和特朗普的这张合影 电视台小编被开除’, ‘链接’: ‘http://new.qq.com/omn/20180923/20180923A0ORF5.html’}
{‘标题’: ‘20:30视频直播西汉姆vs切尔西 23时阿森纳vs埃弗顿’, ‘链接’: ‘http://new.qq.com/zt/template/?id=SPO2018072003223400’}
{‘标题’: ‘杨振宁:对中国科学家贡献的记载工作“一塌糊涂”’, ‘链接’: ‘http://new.qq.com/omn/20180923/20180923A12ZA6.html’}
{‘标题’: ‘较真|放过码农吧!“代码不规范导致枪击案”是自媒体瞎编的’, ‘链接’: ‘http://new.qq.com/omn/20180923/20180923A1A5KV.html’}
{‘标题’: ‘一口气吃完17家互联网公司的月饼 我真的想家了’, ‘链接’: ‘http://new.qq.com/omn/20180923/20180923A0IVKK.html’}
{‘标题’: ‘男子地铁里赤脚横躺座椅 乘客看到后默默将其鞋子踢出车厢’, ‘链接’: ‘http://new.qq.com/omn/20180923/20180923A06XVJ.html’}
{‘标题’: ‘河南南召一村民羁押期间死亡 警方回应:初步认定因病死亡’, ‘链接’: ‘http://new.qq.com/omn/20180923/20180923B03ZYS.html’}
{‘标题’: ‘庄河一小区发生重大刑事案件 警方悬赏万元通缉嫌疑人’, ‘链接’: ‘http://new.qq.com/omn/20180923/20180923A0P2Y4.html’}
{‘标题’: ‘湖南安化三中学生出现疑似感染性腹泻病例 累计报告发病55例’, ‘链接’: ‘http://new.qq.com/cmsn/20180923/20180923007573.html’}
{‘标题’: ‘重庆农民揣大学文凭 20年间未摆脱做搬运工命运’, ‘链接’: ‘http://new.qq.com/omn/20180922/20180922A1624C.html’}
{‘标题’: ‘大家丨月薪4K妹子不愿嫁月薪15K外卖小哥 是有道理的’, ‘链接’: ‘http://new.qq.com/cmsn/20180923/20180923006755.html’}
{‘标题’: ‘今日话题丨“颜值即正义”的时代:是什么将女性推上求美之路’, ‘链接’: ‘http://new.qq.com/cmsn/20180923/20180923005457.html’}
{‘标题’: ‘贾樟柯:拍了二十年电影,才知道人为什么活着’, ‘链接’: ‘http://new.qq.com/omn/20180922/20180922A1OKHY.html’}
…
{‘标题’: ‘金鹰奖投票又反转,热巴破150万胡歌又进前三,李易峰有望第一’, ‘链接’: ‘http://new.qq.com/omn/20180923A0U23O.html’}
{‘标题’: ‘“富察皇后”秦岚再度抵港人气旺,帮捡话筒罩超暖心’, ‘链接’: ‘http://new.qq.com/omn/20180923A0U3EX.html’}
{‘标题’: ‘《如懿传》嘉贵妃失宠,挑唆儿子造反,被皇帝扇耳光’, ‘链接’: ‘http://new.qq.com/omn/20180923A0T1CS.html’}
{‘标题’: ‘暑期电视剧最

最低0.47元/天 解锁文章
746

被折叠的 条评论
为什么被折叠?



