1、网络爬虫
    1、定义:网络蜘蛛,网络机器人,抓取网络数据的程序
    2、总结:用Python程序去模仿人去访问网站,模仿的越逼真越好
    3、目的:通过有效的大量的数据分析市场走势,公司的决策
2、企业获取数据的方式
    1、公司自有
    2、第三方数据平台购买
        1、数据堂、贵阳大数据交易所
    3、爬虫程序爬取数据
        市场上没有或者价格太高,利用爬虫程序去爬取
3、Python做爬虫的优势
    1、Python:请求模块、解析模块丰富成熟
    2、PHP:多线程,异步支持不够好
    3、JAVA:代码笨重,代码量大
    4、C/C++:虽然效率高,但代码成型太慢
4、爬虫的分类
    1、通用的网络爬虫(搜索引擎引用,需要遵守robots协议)
aaarticlea/png;base64,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" alt="" />
        1、搜索引擎如何获取一个新网站的URL
            1、网站主动向搜索引擎提供(百度站长平台)
            2、和DNS服务商(万网),快速收录新网站
    2、聚焦网络爬虫(需要什么爬取什么)
        自己写的爬虫程序:面向主题爬虫,面向需求爬虫
5、爬取数据步骤
    1、确定需要爬取的URL地址
    2、通过HTTP/HTTPS协议来获取响应的HTML页面
    3、提取HTML页面里有用的数据
        1、所需数据,保存
        2、页面中其他的URL,继续重复第2步
6、Chrome浏览器插件
    1、插件安装步骤
        1、右上角->更多工具->扩展程序


        2、点开 开发者模式
        3、把插件拖拽到浏览器界面
    2、插件介绍
        1、Proxy SwitchyOmega:代理切换插件
        2、XPath Helper:网页数据解析插件
        3、JSON View:查看json格式的数据(好看)
7、Fiddler抓包工具
    1、抓包设置
        1、设置Fiddler抓包工具

aaarticlea/png;base64,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" alt="" />
        2、设置浏览器代理
            Proxy SwitchyOmega ->选项->新建情景模式->HTTP 127.0.0.1 8888

aaarticlea/png;base64,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bw6igGaJCSZ/i4dqYNyR15sDQbvcJGvpaaN8QBYYnZeBoh7nq0TcAtetiIiIiIhopBuqQVB5d3mRvJzrNo6yDIrSUDHEA6HnUTHEgqBERERERERERAPrLCo+lGWDHAR1N4mSr0CpfDsGQmmoGOKB0JkwbY+CJr8auZP7JwgayOzwrtu5e+4uT0RERERERETUew8ia/ffI/Z//yu2TR/4IKg/kyL1dqZ4BkNpKBnigVCRCkZTCoz9sKfeBkFF/mzHgCgRERERERER9Y+JMP7PF/olHuKNuxacvrgLajLYScPBmHuCYFeCiIiIiIiIiGgkEsMunZ2duHv3Ltra2nDz5k3U1tZi4cKFTuWUTzyB1g8+CFItiZwdP34ciYmJiIyMRMTSpRgj5ENCQjBmzJhgV61PQoJdASIiIiIiIiIiIqKBxkAoERERERERERERjXgMhBIREREREREREdGIx0AoERERERERERERjXgMhBIRERERERERDbLhPukMjVwj+d5kIJSIiIiIiIiIaJCNGzcu2FUgcmsk35sMhBIRERERERERDbKwsLAR3fKOhifxnhTvzZFqbLArQEREREREREQ02owdOxYRERFob2/HnTt3gl0dGuXEAKjYElQMgor35kg1cs+MiILmwoULwa4CERERERGNEjNmzAh2FXpNDDg5gk53hceECROCWyGiEY6BUCIaEMP5j5HhRAw681pTf+I9RURy/EwgIldD7XOBjTCIKBAcI5SIiIiIiIiIaBCFhobi66+/DnY1iNwS703xHh2JGAglIiIiIiIiIhpg4hiMISEh0iM8PByff/45rl+/HuxqETkR70nx3hTvUcf9OpKwazwRERERERER0QByzA4vBpXElnYxMTG4dOkS/uM//kOaLKmzsxNpwvq7jz0W3IrSqKcUHt9xs9xxDw93DIQSEREREREREQ0wMQjqmJlbbG2nVquhUqmkGePv3buHj3bsCHYVaRST35/izPERERFQKpUYP368lB8pGAglIiIiIiIiIhpgYpBJnCFeoVBIgVCRGHTq6OiQHkTBJrZWFh9i4FO8R8V7VbxnR0prUBEDoUREREREREREA0wMJolBJjH4KRKf33fffVIQVOwaTxRsjqEbxHtUDIKKqZhnIDToLCjLr0YupuCIKRGqYFeHiIiIiIiIiMgNRxBJ7P7u6HosBpzElnZi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" alt="" />
    2、Fiddler常用菜单
        1、Inspector:查看抓到数据包的详细内容
        2、常用选项
            1、Headers:客户端发送到服务器的header,包含web客户端信息 cookie传输状态
            2、WebForms:显示请求的POST的数据
            3、Raw:将整个请求显示为纯文本


8、Anaconda 和 spyder
    1、Anaconda:开源的python发行版本
    2、Spyder:集成的开发工具
        spyder常用快捷键
            1、注释/取消注释:ctrl+1
            2、保存:ctrl+s
            3、运行程序:F5
9、WEB
    1、HTTP 和 HTTPS
        1、HTTP:80
        2、HTTPS:443,HTTP的升级版
    2、GET 和 POST
        1、GET:查询参数会在URL上显示出来
        2、POST:查询参数和提交的数据在form表单里,不会在URL地址上显示
        3、URL
            http:// item.jd.com     :80   /2660656.html #detail
             协议    域名/IP地址  默认端口  资源路径    锚点(可选)
        4、User-Agent
            记录用户浏览器、操作系统等,为了让用户获取更好的HTML页面效果  
            Mozilla:Fireox(Gecko内核)
            IE:Trident(自己内核)
            Linux:KHIML(like Gecko)
            Apple:Webkit(like KHTML)
            google:Chrome(like webkit)
10、爬虫请求模块
    1、urllib.request
        1、版本
            1、Python2中:urllib 和 urllib2
            2、Python3中:把两者合并,urllib.request
        2、常用方法
            1、urllib.request.urlopen('URL')
                作用:向网站发起请求并获取响应
                urlopen(),得到的响应对象response:bytes

import urllib.request
url = 'http://www.baidu.com/'
#发起请求并获取响应对象
response = urllib.request.urlopen(url)
#响应对象的read()方法获取响应内容
#read()方法得到的是bytes类型
#read() bytes -->string
html = response.read().decode('utf-8')
print(html)

2、urllib.request.Request(url,headers={})
                1、重构User-Agent,爬虫和反爬虫斗争第一步
                2、使用步骤
                    1、构建请求对象request:Request()
                    2、获取响应对象response:urlopen(request)
                    3、利用响应对象response.read().decode('utf-8')

# -*- coding: utf-8 -*-
import urllib.request
url = 'http://www.baidu.com/'
headers = {'User-Agent':'User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'}
#1、构建请求对象
request = urllib.request.Request(url,headers=headers)
#2、得到响应对象
response = urllib.request.urlopen(request)
#3、获取响应对象的内容
html = response.read().decode('utf-8')
print(html)

3、请求对象request方法
            1、add_header()
                作用:添加或修改headers(User-Agent)
            2、get_header(‘User-agent’),只有U是大写
                作用:获取已有的HTTP报头的值

import urllib.request

url = 'http://www.baidu.com/'
headers = 'User-AgentUser-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'
request = urllib.request.Request(url)
#请求对象方法add_header()
request.add_header("User-Agent",headers)
#获取响应对象
response = urllib.request.urlopen(request)
#get_header()方法获取User-agent,
#注意User-agent的写法,只有U是大写的
print(request.get_header('User-agent'))
#获取响应码
print(response.getcode())
#获取响应报头信息,返回结果是一个字典
print(response.info())
html = response.read().decode('utf-8')
print(html)

4、响应对象response方法
            1、read();读取服务器响应的内容
            2、getcode():
                作用:返回HTTP的响应状态码
                    200:成功
                    4XX:服务器页面出错(连接到了服务器)
                    5XX:服务器出错(没有连接到服务器)
            3、info():
                作用:返回服务器的响应报头信息
    2、urllib.parse
        1、quote('中文字符串')
        2、urlencode(字典)
        3、unquote("编码之后的字符串"),解码

import urllib.request
import urllib.parse url = 'http://www.baidu.com/s?wd='
key = input('请输入要搜索的内容')
#编码,拼接URL
key = urllib.parse.quote(key)
fullurl = url+key
print(fullurl)#http://www.baidu.com/s?wd=%E7%BE%8E%E5%A5%B3
headers = {'User-Agent':"User-AgentUser-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50"}
request = urllib.request.Request(fullurl,headers = headers)
resp = urllib.request.urlopen(request)
html = resp.read().decode('utf-8')
print(html)
import urllib.request
import urllib.parse baseurl = "http://www.baidu.com/s?"
headers = {'User-Agent':"User-AgentUser-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50"}
key = input("请输入要搜索的内容")
#urlencode编码,参数一定是字典
d = {"wd":key}
d = urllib.parse.urlencode(d)
url = baseurl + d
resq = urllib.request.Request(url,headers = headers)
resp = urllib.request.urlopen(resq)
html = resp.read().decode('utf-8')
print(html)

练习:爬取百度贴吧

1、简单版

# -*- coding: utf-8 -*-
"""
百度贴吧数据抓取
要求:
1、输入贴吧的名称
2、输入抓取的起始页和终止页
3、把每一页的内容保存到本地:第一页.html 第二页.html
http://tieba.baidu.com/f?kw=%E6%B2%B3%E5%8D%97%E5%A4%A7%E5%AD%A6&ie=utf-8&pn=0
"""
import urllib.request
import urllib.parse baseurl = "http://tieba.baidu.com/f?"
headers = {'User-Agent':'User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'}
title = input("请输入要查找的贴吧")
begin_page = int(input("请输入起始页"))
end_page = int(input("请输入起始页"))
#RUL进行编码
kw = {"kw":title}
kw = urllib.parse.urlencode(kw)
#写循环拼接URL,发请求获取响应,写入本地文件
for page in range(begin_page,end_page+1):
pn = (page-1)*50
#拼接URL
url = baseurl + kw + "&pa=" + str(pn)
#发请求,获取响应
req = urllib.request.Request(url,headers=headers)
res = urllib.request.urlopen(req)
html = res.read().decode("utf-8")
#写文件保存在本地
filename = "第" + str(page) +"页.html"
with open(filename,'w',encoding='utf-8') as f:
print("正在下载第%d页"%page)
f.write(html)
print("第%d页下载成功"%page)

2、函数版

import urllib.request
import urllib.parse #发请求,获取响应,得到html
def getPage(url):
headers = {'User-Agent':'User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'}
req = urllib.request.Request(url,headers=headers)
res = urllib.request.urlopen(req)
html = res.read().decode("utf-8")
return html #保存html文件到本地
def writePage(filename,html):
with open(filename,'w',encoding="utf-8") as f:
f.write(html) #主函数
def workOn():
name = input("请输入贴吧名")
begin = int(input("请输入起始页"))
end = int(input("请输入终止页"))
baseurl = "http://tieba.baidu.com/f?"
kw = {"kw":name}
kw = urllib.parse.urlencode(kw)
for page in range(begin,end+1):
pn = (page-1) *50
url = baseurl + kw + "&pn=" + str(pn)
html = getPage(url)
filename = "第"+ str(page) + "页.html"
writePage(filename,html)
if __name__ == "__main__":
workOn()

3、封装为类

import urllib.request
import urllib.parse class BaiduSpider:
def __init__(self):
self.baseurl = "http://tieba.baidu.com/f?"
self.headers = {'User-Agent':'User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'} def getPage(self,url):
'''发请求,获取响应,得到html'''
req = urllib.request.Request(url,headers = self.headers)
res = urllib.request.urlopen(req)
html = res.read().decode("utf-8")
return html def writePage(self,filename,html):
'''保存html文件到本地'''
with open(filename,'w',encoding="utf-8") as f:
f.write(html) def workOn(self):
'''主函数'''
name = input("请输入贴吧名")
begin = int(input("请输入起始页"))
end = int(input("请输入终止页"))
kw = {"kw":name}
kw = urllib.parse.urlencode(kw)
for page in range(begin,end+1):
pn = (page-1) *50
url = self.baseurl + kw + "&pn=" + str(pn)
html = self.getPage(url)
filename = "第"+ str(page) + "页.html"
writePage(filename,html) if __name__ == "__main__":
#创建对象
daiduSpider = BaiduSpider()
#调用类内的方法
daiduSpider.workOn()

1、解析
    1、数据分类
        1、结构化数据
            特点:有固定的格式:HTML、XML、JSON等
        2、非结构化数据
            示例:图片、音频、视频,这类数据一般存储为二进制
    2、正则表达式(re模块)
        1、使用流程
            1、创建编译对象:p = re.compile(r"\d")
            2、对字符串匹配:result = p.match('123ABC')
            3、获取匹配结果:print(result.group())
        2、常用方法
            1、match(s):只匹配字符串开头,返回一个对象
            2、search(s):从开始往后去匹配第一个,返回一个对象
            3、group():从match和search返回的对象中取值
            4、findall(s):全部匹配,返回一个列表
        3、表达式
            .:任意字符(不能匹配\n)
            [...]:包含[]中的一个内容
            \d:数字
            \w:字母、数字、下划线
            \s:空白字符
            \S:非空字符

*:前一个字符出现0次或多次
            ?:0次或1次
            +:1次或多次
            {m}:前一个字符出现m次

贪婪匹配:在整个表达式匹配成功前提下,尽可能多的去匹配
            非贪婪匹配:整个表达式匹配成功前提下,尽可能少的去匹配

   4、示例:

import re
s = """<div><p>仰天大笑出门去,我辈岂是篷篙人</p></div>
<div><p>天生我材必有用,千金散尽还复来</p></div>
"""
#创建编译对象,贪婪匹配
p =re.compile("<div>.*</div>",re.S)
result = p.findall(s)
print(result)
#['<div><p>仰天大笑出门去,我辈岂是篷篙人</p></div>\n\t <div><p>天生我材必有用,千金散尽还复来</p></div>']
#非贪婪匹配
p1 = re.compile("<div>.*?</div>",re.S)
result1 = p1.findall(s)
print(result1)
#['<div><p>仰天大笑出门去,我辈岂是篷篙人</p></div>', '<div><p>天生我材必有用,千金散尽还复来</p></div>']

5、findall()的分组
            解释:先按整体匹配出来,然后在匹配()中内容,如果有2个或多个(),则以元组方式显示

import re
s = 'A B C D'
p1 = re.compile("\w+\s+\w+")
print(p1.findall(s))#['A B','C D'] #1、先按照整体去匹配['A B','C D']
#2、显示括号里面的人内容,['A','C']
p2 = re.compile("(\w+)\s+\w+")
print(p2.findall(s))#['A','C']
#1、先按照整体匹配['A B','C D']
#2、有两个以上分组需要将匹配分组的内容写在小括号里面
#,显示括号内容:[('A','B'),('C','D')]
p3 = re.compile("(\w+)\s+(\w+)")
print(p3.findall(s))
#[('A','B'),('C','D')]

6、练习,猫眼电影榜单top100

# -*- coding: utf-8 -*-
"""
1、爬取猫眼电影top100榜单
1、程序运行,直接爬取第一页
2、是否继续爬取(y/n)
y:爬取第2页
n:爬取结束,谢谢使用
3、把每一页的内容保存到本地,第一页.html
第一页:http://maoyan.com/board/4?offset=0
第二页:http://maoyan.com/board/4?offset=10
4、解析:电影名,主演,上映时间
"""
import urllib.request
import re
class MaoyanSpider:
'''爬取猫眼电影top100榜单'''
def __init__(self):
self.baseurl = "http://maoyan.com/board/4?offset="
self.headers = {'User-Agent':'User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'} def getPage(self,url):
'''获取html页面'''
#创建请求对象
res = urllib.request.Request(url,headers= self.headers)
#发送请求
rep = urllib.request.urlopen(res)
#得到响应结果
html = rep.read().decode("utf=8")
return html def wirtePage(self,filename,html):
'''保存至本地文件'''
# with open(filename,'w',encoding="utf-8") as f:
# f.write(html) content_list = self.match_contents(html)
for content_tuple in content_list:
movie_title = content_tuple[0].strip()
movie_actors = content_tuple[1].strip()[3:]
releasetime = content_tuple[2].strip()[5:15]
with open(filename,'a',encoding='utf-8') as f:
f.write(movie_title+"|" + movie_actors+"|" + releasetime+'\n') def match_contents(self,html):
'''匹配电影名,主演,和上映时间'''
#正则表达式
# '''
# <div class="movie-item-info">
# <p class="name"><a href="/films/1203" title="霸王别姬" data-act="boarditem-click" data-val="{movieId:1203}">霸王别姬</a></p>
# <p class="star">
# 主演:张国荣,张丰毅,巩俐
# </p>
# <p class="releasetime">上映时间:1993-01-01(中国香港)</p> </div>
# '''
regex = r'<div class="movie-item-info">.*?<a.*? title="(.*?)".*?<p class="star">(.*?)</p>.*?<p class="releasetime">(.*?)</p>.*?</div>'
p = re.compile(regex,re.S)
content_list = p.findall(html)
return content_list
def workOn(self):
'''主函数'''
for page in range(0,10):
#拼接URL
url = self.baseurl + str(page*10)
#filename = '猫眼/第' + str(page+1) + "页.html"
filename = '猫眼/第' + str(page+1) + "页.txt"
print("正在爬取%s页"%(page+1))
html = self.getPage(url)
self.wirtePage(filename,html)
#用于记录输入的命令
flag = False
while True:
msg = input("是否继续爬取(y/n)")
if msg == "y":
flag = True
elif msg == "n":
print("爬取结束,谢谢使用")
flag = False
else:
print("您输入的命令无效")
continue
if flag :
break
else:
return None
print("所有内容爬取完成") if __name__ == "__main__":
spider = MaoyanSpider()
spider.workOn()

猫眼电影top100爬取

3、Xpath
    4、BeautifulSoup
2、请求方式及方案
    1、GET(查询参数都在URL地址中显示)
    2、POST
        1、特点:查询参数在Form表单里保存
        2、使用:
            urllib.request.urlopen(url,data = data ,headers = headers)
            data:表单数据data必须以bytes类型提交,不能是字典
        3、案例:有道翻译
            1、利用Fiddler抓包工具抓取WebForms里表单数据
            2、对POST数据进行处理bytes数据类型
            3、发送请求获取响应

from urllib import request,parse
import json
#1、处理表单数据
#Form表单的数据放到字典中,然后在进行编码转换
word = input('请输入要翻译的内容:')
data = {"i":word,
"from":"AUTO",
"to":"AUTO",
"smartresult":"dict",
"client":"fanyideskweb",
"salt":"",
"sign":"f7f6b53876957660bf69994389fd0014",
"doctype":"json",
"version":"2.1",
"keyfrom":"fanyi.web",
"action":"FY_BY_REALTIME",
"typoResult":"false"}
#2、把data转换为bytes类型
data = parse.urlencode(data).encode('utf-8')
#3、发请求获取响应
#此处德 URL为抓包工具抓到的POST的URL
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
headers = {'User-Agent':'User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'}
req = request.Request(url,data=data,headers=headers)
res = request.urlopen(req)
result = res.read().decode('utf-8')
print(type(result))#<class 'str'>
print(result)#result为json格式的字符串
'''{"type":"ZH_CN2EN",
"errorCode":0,
"elapsedTime":1,
"translateResult":[
[{"src":"你好",
"tgt":"hello"
}]
]
}'''
#把json格式的字符串转换为Python字典
#
dic = json.loads(result)
print(dic["translateResult"][0][0]["tgt"])

4、json模块
            json.loads('json格式的字符串')
                作用:把json格式的字符串转换为Python字典
    3、Cookie模拟登陆
        1、Cookie 和 Session
            cookie:通过在客户端记录的信息确定用户身份
            session:通过在服务器端记录的信息确定用户身份
        2、案例:使用cookie模拟登陆人人网
            1、获取到登录信息的cookie(登录一次抓包)
            2、发送请求得到响应

from urllib import request
url = "http://www.renren.com/967982493/profile"
headers = {
'Host': 'www.renren.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
#Accept-Encoding: gzip, deflate
'Referer': 'http://www.renren.com/SysHome.do',
'Cookie': 'anonymid=jlxfkyrx-jh2vcz; depovince=SC; _r01_=1; jebe_key=6aac48eb-05fb-4569-8b0d-5d71a4a7a3e4%7C911ac4448a97a17c4d3447cbdae800e4%7C1536714317279%7C1%7C1536714319337; jebecookies=a70e405c-c17a-4877-8164-00823b5e092c|||||; JSESSIONID=abcq8TskVWDMEgvjGslxw; ick_login=d1b4c959-7554-421e-8a7f-b97edd577b3a; ick=c6c7cac9-d9ac-49e5-9e74-9ac481136db1; XNESSESSIONID=e94666d4bdb8; wp_fold=0; BAIDU_SSP_lcr=https://www.baidu.com/link?url=n0NWyopmrKuQ6xUulfbYUud3nr02sIODSKI8sfzvS2G&wd=&eqid=e7cd8eed0003aeaa000000055b9864da; _de=5EE7F4A4EC35EE3510B8477EDD9F1F27; p=dc67b283c53b57a3c9f20e04cb9ca2d43; first_login_flag=1; ln_uact=13333759329; ln_hurl=http://head.xiaonei.com/photos/0/0/men_main.gif; t=cb96dfe9e344a2d817027a2c8f7f0c4c3; societyguester=cb96dfe9e344a2d817027a2c8f7f0c4c3; id=967982493; xnsid=34a50049; loginfrom=syshome',
'Connection': 'keep-alive',
'Upgrade-Insecure-Requests': '',
}
req = request.Request(url,headers = headers)
res = request.urlopen(req)
html = res.read().decode('utf-8')
print(html)

3、requests模块
    1、安装(Conda prompt终端)
        1、(base) ->conda install requests
    2、常用方法
        1、get():向网站发送请求,并获取响应对象
            1、用法:resopnse = requests.get(url,headers = headers)
            2、response的属性
                1、response.text:获取响应内容(字符串)
                    说明:一般返回字符编码为ISO-8859-1,可以通过手动指定:response.encoding='utf-8'
                2、response.content:获取响应内容(bytes)
                    1、应用场景:爬取图片,音频等非结构化数据
                    2、示例:爬取图片
                3、response.status_code:返回服务器的响应码

import requests

url = "http://www.baidu.com/"
headers = {"User-Agent":"Mozilla5.0/"}
#发送请求获取响应对象
response = requests.get(url,headers)
#改变编码方式
response.encoding = 'utf-8'
#获取响应内容,text返回字符串
print(response.text)
#content返回bytes
print(response.content)
print(response.status_code)#

3、get():查询参数 params(字典格式)
                1、没有查询参数
                    res = requests.get(url,headers=headers)
                2、有查询参数
                    params= {"wd":"python"}
                    res = requuests.get(url,params=params,headers=headers)
        2、post():参数名data
            1、data={} #data参数为字典,不用转为bytes数据类型
            2、示例:

import requests
import json
#1、处理表单数据
word = input('请输入要翻译的内容:')
data = {"i":word,
"from":"AUTO",
"to":"AUTO",
"smartresult":"dict",
"client":"fanyideskweb",
"salt":"",
"sign":"f7f6b53876957660bf69994389fd0014",
"doctype":"json",
"version":"2.1",
"keyfrom":"fanyi.web",
"action":"FY_BY_REALTIME",
"typoResult":"false"} #此处德 URL为抓包工具抓到的POST的URL
url = "http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"
headers = {'User-Agent':'User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'}
response = requests.post(url,data=data,headers=headers)
response.encoding = 'utf-8'
result = response.text
print(type(result))#<class 'str'>
print(result)#result为json格式的字符串
'''{"type":"ZH_CN2EN",
"errorCode":0,
"elapsedTime":1,
"translateResult":[
[{"src":"你好",
"tgt":"hello"
}]
]
}'''
#把json格式的字符串转换为Python字典
dic = json.loads(result)
print(dic["translateResult"][0][0]["tgt"])

3、代理:proxies
            1、爬虫和反爬虫斗争的第二步
                获取代理IP的网站
                    1、西刺代理
                    2、快代理
                    3、全国代理


            2、普通代理:proxies={"协议":"IP地址:端口号"}
                proxies = {'HTTP':"123.161.237.114:45327"}

import requests

url = "http://www.taobao.com"
proxies = {"HTTP":"123.161.237.114:45327"}
headers = {"User-Agent":"Mozilla5.0/"}
response = requests.get(url,proxies=proxies,headers=headers)
response.encoding = 'utf-8'
print(response.text)

3、私密代理:proxies={"协议":"http://用户名:密码@IP地址:端口号"}
                proxies={'HTTP':'http://309435365:szayclhp@114.67.228.126:16819'}

import requests

url = "http://www.taobao.com/"
proxies = {'HTTP':'http://309435365:szayclhp@114.67.228.126:16819'}
headers = {"User-Agent":"Mozilla5.0/"}
response = requests.get(url,proxies=proxies,headers=headers)
response.encoding = 'utf-8'
print(response.text)

4、案例:爬取链家地产二手房信息

      1、存入mysql数据库

import pymysql
db = pymysql.connect("localhost","root","",charset='utf8')
cusor = db.cursor()
cursor.execute("create database if not exists testspider;")
cursor.execute("use testspider;")
cursor.execute("create table if not exists t1(id int);")
cursor.execute("insert into t1 values(100);")
db.commit()
cursor.close()
db.close()

      2、存入MongoDB数据库

import pymongo
#链接mongoDB数据库
conn = pymongo.MongoClient('localhost',27017)
#创建数据库并得到数据库对象
db = conn.testpymongo
#创建集合并得到集合对象
myset = db.t1
#向集合中插入一个数据
myset.insert({"name":"Tom"})
"""
爬取链家地产二手房信息(用私密代理实现)
目标:爬取小区名称,总价
步骤:
1、获取url
https://cd.lianjia.com/ershoufang/pg1/
https://cd.lianjia.com/ershoufang/pg2/
2、正则匹配
3、写入到本地文件
"""
import requests
import re
import multiprocessing as mp
BASE_URL = "https://cd.lianjia.com/ershoufang/pg"
proxies = {'HTTP':'http://309435365:szayclhp@114.67.228.126:16819'}
headers = {"User-Agent":"Mozilla5.0/"}
regex = '<div class="houseInfo">.*?<a.*?data-el="region">(.*?)</a>.*?<div class="totalPrice">.*?<span>(.*?)</span>' def getText(BASE_URL,proxies,headers,page):
url = BASE_URL+str(page)
res = requests.get(url,proxies=proxies,headers=headers)
res.encoding = 'utf-8'
html = res.text
return html def saveFile(page,regex=regex):
html = getText(BASE_URL,proxies,headers,page)
p = re.compile(regex,re.S)
content_list = p.findall(html)
for content_tuple in content_list:
cell = content_tuple[0].strip()
price = content_tuple[1].strip()
with open('链家.txt','a') as f:
f.write(cell+" "+price+"\n") if __name__ == "__main__":
pool = mp.Pool(processes = 10)
pool.map(saveFile,[page for page in range(1,101)])

链家二手房产

import requests
import re
import multiprocessing as mp
import pymysql
import warnings
BASE_URL = "https://cd.lianjia.com/ershoufang/pg"
proxies = {'HTTP':'http://309435365:szayclhp@114.67.228.126:16819'}
headers = {"User-Agent":"Mozilla5.0/"}
regex = '<div class="houseInfo">.*?<a.*?data-el="region">(.*?)</a>.*?<div class="totalPrice">.*?<span>(.*?)</span>'
c_db = "create database if not exists spider;"
u_db = "use spider;"
c_tab = "create table if not exists lianjia(id int primary key auto_increment,\
name varchar(30),\
price decimal(20,2))charset=utf8;"
db = pymysql.connect("localhost","root",'',charset="utf8")
cursor = db.cursor()
warnings.filterwarnings("error")
try:
cursor.execute(c_db)
except Warning:
pass
cursor.execute(u_db)
try:
cursor.execute(c_tab)
except Warning:
pass
def getText(BASE_URL,proxies,headers,page):
url = BASE_URL+str(page)
res = requests.get(url,proxies=proxies,headers=headers)
res.encoding = 'utf-8'
html = res.text
return html
def writeToMySQL(page,regex=regex):
html = getText(BASE_URL,proxies,headers,page)
p = re.compile(regex,re.S)
content_list = p.findall(html)
for content_tuple in content_list:
cell = content_tuple[0].strip()
price = float(content_tuple[1].strip())*10000
s_insert = "insert into lianjia(name,price) values('%s','%s');"%(cell,price)
cursor.execute(s_insert)
db.commit()
if __name__ == "__main__":
pool = mp.Pool(processes = 20)
pool.map(writeToMySQL,[page for page in range(1,101)])

存入mysql数据库

import requests
import re
import multiprocessing as mp
import pymongo
BASE_URL = "https://cd.lianjia.com/ershoufang/pg"
proxies = {'HTTP':'http://309435365:szayclhp@114.67.228.126:16819'}
headers = {"User-Agent":"Mozilla5.0/"}
regex = '<div class="houseInfo">.*?<a.*?data-el="region">(.*?)</a>.*?<div class="totalPrice">.*?<span>(.*?)</span>'
#链接mongoDB数据库
conn = pymongo.MongoClient('localhost',27017)
#创建数据库并得到数据库对象
db = conn.spider;
#创建集合并得到集合对象
myset = db.lianjia def getText(BASE_URL,proxies,headers,page):
url = BASE_URL+str(page)
res = requests.get(url,proxies=proxies,headers=headers)
res.encoding = 'utf-8'
html = res.text
return html
def writeToMongoDB(page,regex=regex):
html = getText(BASE_URL,proxies,headers,page)
p = re.compile(regex,re.S)
content_list = p.findall(html)
for content_tuple in content_list:
cell = content_tuple[0].strip()
price = float(content_tuple[1].strip())*10000
d = {"houseName":cell,"housePrice":price}
#向集合中插入一个数据
myset.insert(d)
if __name__ == "__main__":
pool = mp.Pool(processes = 20)
pool.map(writeToMongoDB,[page for page in range(1,101)])

存入MongoDB

4、WEB客户端验证(有些网站需要先登录才可以访问):auth
            1、auth = ("用户名","密码"),是一个元组

import requests
import re
regex = r'<a.*?>(.*?)</a>'
class NoteSpider:
def __init__(self):
self.headers = {"User-Agent":"Mozilla5.0/"}
#auth参数为元组
self.auth = ("tarenacode","code_2013")
self.url = "http://code.tarena.com.cn/" def getParsePage(self):
res = requests.get(self.url,auth=self.auth, headers=self.headers)
res.encoding = "utf-8"
html = res.text
p = re.compile(regex,re.S)
r_list = p.findall(html)
#调用writePage()方法
self.writePage(r_list)
def writePage(self,r_list):
print("开始写入")
for r_str in r_list:
with open('笔记.txt','a') as f:
f.write(r_str + "\n")
print("写入完成") if __name__=="__main__":
obj = NoteSpider()
obj.getParsePage()

5、SSL证书认证:verify
            1、verify=True:默认,做SSL证书认证
            2、verify=False: 忽略证书认证

import requests
url = "http://www.12306.cn/mormhweb/"
headers = {"User-Agent":"Mozilla5.0/"}
res = requests.get(url,verify=False,headers=headers)
res.encoding = "utf-8"
print(res.text)

4、Handler处理器(urllib.request,了解)
    1、定义
        自定义的urlopen()方法,urlopen方法是一个特殊的opener
    2、常用方法
        1、build_opener(Handler处理器对象)
        2、opener.open(url),相当于执行了urlopen
    3、使用流程
        1、创建相关Handler处理器对象
            http_handler = urllib.request.HTTPHandler()
        2、创建自定义opener对象
            opener = urllib.request.build_opener(http_handler)
        3、利用opener对象的open方法发送请求
    4、Handler处理器分类
        1、HTTPHandler()

import urllib.request
url = "http://www.baidu.com/"
#1、创建HTTPHandler处理器对象
http_handler = urllib.request.HTTPHandler()
#2、创建自定义的opener对象
opener = urllib.request.build_opener(http_handler)
#3、利用opener对象的open方法发送请求
req = urllib.request.Request(url)
res = opener.open(req)
print(res.read().decode("utf-8"))

   2、ProxyHandler(代理IP):普通代理

import urllib.request

url = "http://www.baidu.com"

#1、创建handler
proxy_handler = urllib.request.ProxyHandler({"HTTP":"123.161.237.114:45327"})
#2、创建自定义opener
opener = urllib.request.build_opener(proxy_handler)
#3、利用opener的open方法发送请求
req = urllib.request.Request(url)
res = opener.open(req)
print(res.read().decode("utf-8"))

3、ProxyBasicAuthHandler(密码管理器对象):私密代理

1、密码管理器使用流程
                1、创建密码管理器对象
                    pwd = urllib.request.HTTPPasswordMgrWithDefaultRealm()
                2、添加私密代理用户名,密码,IP地址,端口号
                    pwd.add_password(None,"IP:端口","用户名","密码")
            2、urllib.request.ProxyBasicAuthHandler(密码管理器对象)

1、CSV模块使用流程
    1、Python语句打开CSV文件:
        with open('test.csv','a',newline='',encoding='utf-8') as f:
            pass
    2、初始化写入对象使用writer(方法:
        writer = csv.writer(f)
    3、写入数据使用writerow()方法
        writer.writerow(["霸王别姬",1993])
    4、示例:

import csv
#打开csv文件,如果不写newline=‘’,则每一条数据中间会出现一条空行
with open("test.csv",'a',newline='') as f:
#初始化写入对象
writer = csv.writer(f)
#写入数据
writer.writerow(['id','name','age'])
writer.writerow([1,'Lucy',20])
writer.writerow([2,'Tom',25])
import csv
with open("猫眼/第一页.csv",'w',newline="") as f:
writer = csv.writer(f)
writer.writerow(['电影名','主演','上映时间'])
'''
如果使用utf-8会出现['\ufeff霸王别姬', '张国荣,张丰毅,巩俐', '1993-01-01']
使用utf-8-sig['霸王别姬', '张国荣,张丰毅,巩俐', '1993-01-01']
两者的区别:
UTF-8以字节为编码单元,它的字节顺序在所有系统中都是一様的,没有字节序的问题,
也因此它实际上并不需要BOM(“ByteOrder Mark”)。
但是UTF-8 with BOM即utf-8-sig需要提供BOM。
'''
with open("猫眼/第1页.txt",'r',encoding="utf-8-sig") as file:
while True:
data_list = file.readline().strip().split("|")
print(data_list)
writer.writerow(data_list)
if data_list[0]=='':
break

2、Xpath工具(解析HTML)
    1、Xpath
        在XML文档中查找信息的语言,同样适用于HTML文档的检索
    2、Xpath辅助工具
        1、Chrome插件:Xpath Helper
            打开/关闭:Ctrl + Shift + 大写X
        2、FireFox插件:XPath checker
        3、Xpath表达式编辑工具:XML Quire
    3、Xpath匹配规则

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
  <book>
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book>
    <title lang="chs">Python</title>
    <author>Joe</author>
    <year>2018</year>
    <price>49.99</price>
  </book>
</bookstore>

1、匹配演示
            1、查找bookstore下面的所有节点:/bookstore
            2、查找所有的book节点://book
            3、查找所有book节点下title节点中,lang属性为‘en’的节点://book/title[@lang='en']
        2、选取节点
            /:从根节点开始选取 /bookstore,表示“/‘前面的节点的子节点
            //:从整个文档中查找某个节点 //price,表示“//”前面节点的所有后代节点
            @:选取某个节点的属性 //title[@lang="en"]
        3、@使用
            1、选取1个节点://title[@lang='en']
            2、选取N个节点://title[@lang]
            3、选取节点属性值://title/@lang
        4、匹配多路径
            1、符号: |
            2、示例:
                获取所有book节点下的title节点和price节点
                //book/title|//book/price
        5、函数
            contains():匹配一个属性值中包含某些字符串的节点
                //title[contains(@lang,'e')]

  6、可以通过解析出来的标签对象继续调用xpath函数往下寻找标签

    语法:获取的标签对象.xpath(“./div/span”)

"""
糗事百科https://www.qiushibaike.com/8hr/page/1/
匹配内容
1、用户昵称,div/div/a/h2.text
2、内容,div/a/div/span.text
3、点赞数,div/div/span/i.text
4、评论数,div/div/span/a/i.text
"""
import requests
from lxml import etree
url = "https://www.qiushibaike.com/8hr/page/1/"
headers = {'User-Agent':"Mozilla5.0/"}
res = requests.get(url,headers=headers)
res.encoding = "utf-8"
html = res.text #先获取所有段子的div列表
parseHtml = etree.HTML(html)
div_list = parseHtml.xpath("//div[contains(@id,'qiushi_tag_')]")
print(len(div_list))
#遍历列表
for div in div_list:
#获取用户昵称
username = div.xpath('./div/a/h2')[0].text
print(username)
#获取内容
content = div.xpath('.//div[@class="content"]/span')[0].text
print(content)
#获取点赞
laughNum = div.xpath('./div/span/i')[0].text
print(laughNum)
#获取评论数
pingNum = div.xpath('./div/span/a/i')[0].text
print(pingNum)

3、解析HTML源码
    1、lxml库:HTML/XML解析库
        1、安装
            conda install lxml
            pip install lxml
    2、使用流程
        1、利用lxml库的etree模块构建解析对象
        2、解析对象调用xpath工具定位节点信息
    3、使用
        1、导入模块from lxml import etree
        2、创建解析对象:parseHtml = etree.HTML(html)
        3、调用xpath进行解析:r_list = parseHtml.xpath("//title[@lang='en']")
        说明:只要调用了xpath,则结果一定是列表

from lxml import etree
html = """<div class="wrapper">
<i class="iconfont icon-back" id="back"></i>
<a href="/" id="channel">新浪社会</a>
<ul id="nav">
<li><a href="http://domestic.firefox.sina.com/" title="国内">国内</a></li>
<li><a href="http://world.firefox.sina.com/" title="国际">国际</a></li>
<li><a href="http://mil.firefox.sina.com/" title="军事">军事</a></li>
<li><a href="http://photo.firefox.sina.com/" title="图片">图片</a></li>
<li><a href="http://society.firefox.sina.com/" title="社会">社会</a></li>
<li><a href="http://ent.firefox.sina.com/" title="娱乐">娱乐</a></li>
<li><a href="http://tech.firefox.sina.com/" title="科技">科技</a></li>
<li><a href="http://sports.firefox.sina.com/" title="体育">体育</a></li>
<li><a href="http://finance.firefox.sina.com/" title="财经">财经</a></li>
<li><a href="http://auto.firefox.sina.com/" title="汽车">汽车</a></li>
</ul>
<i class="iconfont icon-liebiao" id="menu"></i>
</div>""" #1、创建解析对象
parseHtml = etree.HTML(html)
#2、利用解析对象调用xpath工具,
#获取a标签中href的值
s1 = "//a/@href"
#获取单独的/
s2 = "//a[@id='channel']/@href"
#获取后面的a标签中href的值
s3 = "//li/a/@href"
s3 = "//ul[@id='nav']/li/a/@href"#更准确
#获取所有a标签的内容,1、首相获取标签对象,2、遍历对象列表,在通过对象.text属性获取文本值
s4 = "//a"
#获取新浪社会
s5 = "//a[@id='channel']"
#获取国内,国际,.......
s6 = "//ul[@id='nav']//a"
r_list = parseHtml.xpath(s6)
print(r_list) for i in r_list:
print(i.text)

4、案例:抓取百度贴吧帖子里面的图片
        1、目标:抓取贴吧中帖子图片
        2、思路
            1、先获取贴吧主页的URL:河南大学,下一页的URL规律
            2、获取河南大学吧中每个帖子的URL
            3、对每个帖子发送请求,获取帖子里面所有图片的URL
            4、对图片URL发送请求,以wb的范式写入本地文件

"""
步骤
1、获取贴吧主页的URL
http://tieba.baidu.com/f?kw=河南大学&pn=0
http://tieba.baidu.com/f?kw=河南大学&pn=50
2、获取每个帖子的URL,//div[@class='t_con cleafix']/div/div/div/a/@href
https://tieba.baidu.com/p/5878699216
3、打开每个帖子,找到图片的URL,//img[@class='BDE_Image']/@src
http://imgsrc.baidu.com/forum/w%3D580/sign=da37aaca6fd9f2d3201124e799ed8a53/27985266d01609240adb3730d90735fae7cd3480.jpg
4、保存到本地 """
import requests
from lxml import etree
class TiebaPicture:
def __init__(self):
self.baseurl = "http://tieba.baidu.com"
self.pageurl = "http://tieba.baidu.com/f"
self.headers = {'User-Agent':"Mozilla5.0/"} def getPageUrl(self,url,params):
'''获取每个帖子的URL'''
res = requests.get(url,params=params,headers = self.headers)
res.encoding = 'utf-8'
html = res.text #从HTML页面获取每个帖子的URL
parseHtml = etree.HTML(html)
t_list = parseHtml.xpath("//div[@class='t_con cleafix']/div/div/div/a/@href")
print(t_list)
for t in t_list:
t_url = self.baseurl + t
self.getImgUrl(t_url) def getImgUrl(self,t_url):
'''获取帖子中所有图片的URL'''
res = requests.get(t_url,headers=self.headers)
res.encoding = "utf-8"
html = res.text
parseHtml = etree.HTML(html)
img_url_list = parseHtml.xpath("//img[@class='BDE_Image']/@src")
for img_url in img_url_list:
self.writeImg(img_url) def writeImg(self,img_url):
'''将图片保存如文件'''
res = requests.get(img_url,headers=self.headers)
html = res.content
#保存到本地,将图片的URL的后10位作为文件名
filename = img_url[-10:]
with open(filename,'wb') as f:
print("%s正在下载"%filename)
f.write(html)
print("%s下载完成"%filename) def workOn(self):
'''主函数'''
kw = input("请输入你要爬取的贴吧名")
begin = int(input("请输入起始页"))
end = int(input("请输入终止页"))
for page in range(begin,end+1):
pn = (page-1)*50
#拼接某个贴吧的URl
params = {"kw":kw,"pn":pn}
self.getPageUrl(self.pageurl,params=params) if __name__ == "__main__":
spider = TiebaPicture()
spider.workOn()

爬取百度贴吧图片

1、动态网站数据抓取 - Ajax
    1、Ajax动态加载
        1、特点:动态加载(滚动鼠标滑轮时加载)
        2、抓包工具:查询参数在WebForms -> QueryString
        2、案例:豆瓣电影top100榜单

import requests
import json
import csv
url = "https://movie.douban.com/j/chart/top_list"
headers = {'User-Agent':"Mozilla5.0/"} params = {"type":"",
"interval_id":"100:90",
"action":"",
"start":"",
"limit":""}
res = requests.get(url,params=params,headers=headers)
res.encoding="utf-8"
#得到json格式的数组[]
html = res.text
#把json格式的数组转为python的列表
ls = json.loads(html) with open("豆瓣100.csv",'a',newline="") as f:
writer = csv.writer(f)
writer.writerow(["name","score"])
for dic in ls:
name = dic['title']
score = dic['rating'][1]
writer.writerow([name,score])

2、json模块
    1、作用:json格式类型 和 Python数据类型相互转换
    2、常用方法
        1、json.loads():json格式 --> Python数据类型
                json      python
                对象        字典
                数组        列表
        2、json.dumps():
3、selenium + phantomjs 强大的网络爬虫
    1、selenium
        1、定义:WEB自动化测试工具,应用于WEB自动化测试
        2、特点:
            1、可运行在浏览器上,根据指令操作浏览器,让浏览器自动加载页面
            2、只是一个工具,不支持浏览器功能,只能与第三方浏览器结合使用
        3、安装
            conda install selenium
            pip install selenium
    2、phantomjs
        1、Windowds
            1、定义:无界面浏览器(无头浏览器)
            2、特点:
                1、把网站加载到内存执行页面加载
                2、运行高效
            3、安装
                1、把安装包拷贝到Python安装路径Script...
        2、Ubuntu
            1、下载phantomjs安装包放到一个路径下
            2、用户主目录:vi .bashrc
                export PHANTOM_JS = /home/.../phantomjs-...
                export PATH=$PHANTOM_JS/bin:$PATH
            3、source .bashrc
            4、终端:phantomjs
    3、示例代码

#导入selenium库中的文本driver
from selenium import webdriver
#创建打开phantomjs的对象
driver = webdriver.PhantomJS()
#访问百度
driver.get("http://www.baidu.com/")
#获取网页截图
driver.save_screenshot("百度.png")

4、常用方法
        1、driver.get(url)
        2、driver.page_source.find("内容"):
            作用:从html源码中搜索字符串,搜索成功返回非-1,搜索失败返回-1

from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get("http://www.baidu.com/")
r1 = driver.page_source.find("kw")
r2 = driver.page_source.find("aaaa")
print(r1,r2)#1053 -1

3、driver.find_element_by_id("id值").text
        4、driver.find_element_by_name("属性值")
        5、driver.find_element_by_class_name("属性值")
        6、对象名.send_keys("内容")
        7、对象名.click()
        8、driver.quit()
    5、案例:登录豆瓣网站
4、BeautifulSoup
    1、定义:HTML或XML的解析,依赖于lxml库
    2、安装并导入    
        安装:
            pip install beautifulsoup4
            conda install beautifulsoup4
        导入模块:from bs4 import BeautifulSoup as bs
    3、示例
    4、BeautifulSoup支持的解析库
        1、lxml HTML解析器, 'lxml'速度快,文档容错能力强
        2、Python标准库   'html.parser',速度一般
        3、lxml XML解析器  'xml':速度快

from selenium import webdriver
from bs4 import BeautifulSoup as bs
import time driver = webdriver.PhantomJS()
driver.get("https://www.douyu.com/directory/all")
while True:
html = driver.page_source
#创建解析对象
soup = bs(html,'lxml')
#直接调用方法去查找元素
#存放所有主播的元素对象
names = soup.find_all("span",{"class":"dy-name ellipsis fl"})
numbers = soup.find_all("span",{"class":"dy-num fr"})
#name ,number 都是对象,有get_text()
for name , number in zip(names,numbers):
print("观众人数:",number.get_text(),"主播",name.get_text())
if html.find("shark-pager-disable-next") ==-1:
driver.find_element_by_class_name("shark-pager-next").click()
time.sleep(4)
else:
break

使用pytesseract识别验证码

  1、安装 sudo pip3 install pytesseract

  2、使用步骤:

    1、打开验证码图片:Image.open(‘验证码图片路径’)

    2、使用pytesseract模块中的image_to_string()方法进行识别

from PIL import Image
from pytesseract import *
#1、加载图片
image = Image.open('t1.png')
#2、识别过程
text = image_to_string(image)
print(text)

使用captcha模块生成验证码

  1、安装 sudo pip3 install captcha

import random
from PIL import Image
import numpy as np
from captcha.image import ImageCaptcha digit = ['','','','','','','','','','']
alphabet = [chr(i) for i in range(97,123)]+[chr(i) for i in range(65,91)]
char_set = digit + alphabet
#print(char_set)
def random_captcha_text(char_set=char_set,captcha_size=4):
'''默认获取一个随机的含有四个元素的列表'''
captcha_text = []
for i in range(captcha_size):
ele = random.choice(char_set)
captcha_text.append(ele)
return captcha_text
def gen_captcha_text_and_inage():
'''默认随机得到一个包含四个字符的图片验证码并返回字符集'''
image = ImageCaptcha()
captcha_text = random_captcha_text()
#将列表转为字符串
captcha_text = ''.join(captcha_text)
captchaInfo = image.generate(captcha_text)
#生成验证码图片
captcha_imge = Image.open(captchaInfo)
captcha_imge = np.array(captcha_imge)
im = Image.fromarray(captcha_imge)
im.save('captcha.png')
return captcha_text
if __name__ == '__main__':
gen_captcha_text_and_inage()

去重

  1、去重分为两个步骤,创建两个队列(列表)

    1、一个队列存放已经爬取过了url,存放之前先判断这个url是否已经存在于已爬队列中,通过这样的方式去重

    2、另外一个队列存放待爬取的url,如果该url不在已爬队列中则放入到带爬取队列中

  使用去重和广度优先遍历爬取豆瓣网

import re
from bs4 import BeautifulSoup
import basicspider
import hashlibHelper def get_html(url):
"""
获取一页的网页源码信息
"""
headers = [("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36")]
html = basicspider.downloadHtml(url, headers=headers)
return html def get_movie_all(html):
"""
获取当前页面中所有的电影的列表信息
"""
soup = BeautifulSoup(html, "html.parser")
movie_list = soup.find_all('div', class_='bd doulist-subject')
#print(movie_list)
return movie_list def get_movie_one(movie):
"""
获取一部电影的精细信息,最终拼成一个大的字符串
"""
result = ""
soup = BeautifulSoup(str(movie),"html.parser")
title = soup.find_all('div', class_="title")
soup_title = BeautifulSoup(str(title[0]), "html.parser")
for line in soup_title.stripped_strings:
result += line
try:
score = soup.find_all('span', class_='rating_nums')
score_ = BeautifulSoup(str(score[0]), "html.parser")
for line in score_.stripped_strings:
result += "|| 评分:"
result += line
except:
result += "|| 评分:5.0"
abstract = soup.find_all('div', class_='abstract')
abstract_info = BeautifulSoup(str(abstract[0]), "html.parser")
for line in abstract_info.stripped_strings:
result += "|| "
result += line result += '\n'
print(result)
return result def save_file(movieInfo):
"""
写文件的操作,这里使用的追加的方式来写文件
"""
with open("doubanMovie.txt","ab") as f:
#lock.acquire()
f.write(movieInfo.encode("utf-8"))
#lock.release() crawl_queue = []#待爬取队列
crawled_queue = []#已爬取队列 def crawlMovieInfo(url):
'''抓取一页数据'''
'https://www.douban.com/doulist/3516235/'
global crawl_queue
global crawled_queue
html = get_html(url)
regex = r'https://www\.douban\.com/doulist/3516235/\?start=\d+&amp;sort=seq&amp;playable=0&amp;sub_type='
p = re.compile(regex,re.S)
itemUrls = p.findall(html)
#两步去重过程
for item in itemUrls:
#将item进行hash然后判断是否已经在已爬队列中
hash_irem = hashlibHelper.hashStr(item)
if hash_irem not in crawled_queue:#已爬队列去重
crawl_queue.append(item)
crawl_queue = list(set(crawl_queue))#将待爬队列去重
#处理当前页面
movie_list = get_movie_all(html)
for movie in movie_list:
save_file(get_movie_one(movie))
#将url转为hash值并存入已爬队列中
hash_url = hashlibHelper.hashStr(url)
crawled_queue.append(hash_url) if __name__ == "__main__":
#广度优先遍历
seed_url = 'https://www.douban.com/doulist/3516235/?start=0&amp;sort=seq&amp;playable=0&amp;sub_type='
crawl_queue.append(seed_url)
while crawl_queue:
url = crawl_queue.pop(0)
crawlMovieInfo(url)
print(crawled_queue)
print(len(crawled_queue))
import hashlib 

def hashStr(strInfo):
'''对字符串进行hash'''
hashObj = hashlib.sha256()
hashObj.update(strInfo.encode('utf-8'))
return hashObj.hexdigest() def hashFile(fileName):
'''对文件进行hash'''
hashObj = hashlib.md5()
with open(fileName,'rb') as f:
while True:
#不要一次性全部读取出来,如果文件太大,内存不够
data = f.read(2048)
if not data:
break
hashObj.update(data)
return hashObj.hexdigest() if __name__ == "__main__":
print(hashStr("hello"))
print(hashFile('猫眼电影.txt'))

hashlibHelper.py

from urllib import request
from urllib import parse
from urllib import error
import random
import time def downloadHtml(url,headers=[()],proxy={},timeout=None,decodeInfo='utf-8',num_tries=10,useProxyRatio=11):
'''
支持user-agent等Http,Request,Headers
支持proxy
超时的考虑
编码的问题,如果不是UTF-8编码怎么办
服务器错误返回5XX怎么办
客户端错误返回4XX怎么办
考虑延时的问题
'''
time.sleep(random.randint(1,2))#控制访问,不要太快
#通过useProxyRatio设置是否使用代理
if random.randint(1,10) >useProxyRatio:
proxy = None
#创建ProxuHandler
proxy_support = request.ProxyHandler(proxy)
#创建opener
opener = request.build_opener(proxy_support)
#设置user-agent
opener.addheaders = headers
#安装opener
request.install_opener(opener)
html = None
try:
#这里可能出现很多异常
#可能会出现编码异常
#可能会出现网络下载异常:客户端的异常404,403
# 服务器的异常5XX
res = request.urlopen(url)
html = res.read().decode(decodeInfo)
except UnicodeDecodeError:
print("UnicodeDecodeError")
except error.URLError or error.HTTPError as e:
#客户端的异常404,403(可能被反爬了)
if hasattr(e,'code') and 400 <= e.code < 500:
print("Client Error"+e.code)
elif hasattr(e,'code') and 500 <= e.code < 600:
if num_tries > 0:
time.sleep(random.randint(1,3))#设置等待的时间
downloadHtml(url,headers,proxy,timeout,decodeInfo,num_tries-1)
return html if __name__ == "__main__":
url = "http://maoyan.com/board/4?offset=0"
headers = [("User-Agent","User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50")]
print(downloadHtml(url,headers=headers))

basicspider.py

Scrapy框架
    在终端直接输入scrapy查看可以使用的命令
      bench         Run quick benchmark test
      fetch         Fetch a URL using the Scrapy downloader
      genspider     Generate new spider using pre-defined templates
      runspider     Run a self-contained spider (without creating a project)
      settings      Get settings values
      shell         Interactive scraping console
      startproject  Create new project
      version       Print Scrapy version
      view          Open URL in browser, as seen by Scrapy
    使用步骤:
        1、创建一个项目:scrapy startproject 项目名称
            scrapy startproject tencentSpider
        2、进入到项目中,创建一个爬虫
            cd tencentSpider
            scrapy genspider tencent hr.tencent.com #tencent表示创建爬虫的名字,hr.tencent.com表示入口,要爬取的数据必须在这个域名之下
        3、修改程序的逻辑
            1、settings.py
                1、设置ua
                2、关闭robots协议
                3、关闭cookie
                4、打开ItemPipelines

# -*- coding: utf-8 -*-

# Scrapy settings for tencentSpider project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
# https://doc.scrapy.org/en/latest/topics/settings.html
# https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
# https://doc.scrapy.org/en/latest/topics/spider-middleware.html BOT_NAME = 'tencentSpider' SPIDER_MODULES = ['tencentSpider.spiders']
NEWSPIDER_MODULE = 'tencentSpider.spiders' # Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'tencentSpider (+http://www.yourdomain.com)' USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0'
# Obey robots.txt rules
ROBOTSTXT_OBEY = False #是否遵循robots协议 # Configure maximum concurrent requests performed by Scrapy (default: 16)
#CONCURRENT_REQUESTS = 32 # Configure a delay for requests for the same website (default: 0)
# See https://doc.scrapy.org/en/latest/topics/settings.html#download-delay
# See also autothrottle settings and docs
#DOWNLOAD_DELAY = 3
# The download delay setting will honor only one of:
#CONCURRENT_REQUESTS_PER_DOMAIN = 16
#CONCURRENT_REQUESTS_PER_IP = 16 # Disable cookies (enabled by default)
COOKIES_ENABLED = False # Disable Telnet Console (enabled by default)
#TELNETCONSOLE_ENABLED = False # Override the default request headers:
#DEFAULT_REQUEST_HEADERS = {
# 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
# 'Accept-Language': 'en',
#} # Enable or disable spider middlewares
# See https://doc.scrapy.org/en/latest/topics/spider-middleware.html
#SPIDER_MIDDLEWARES = {
# 'tencentSpider.middlewares.TencentspiderSpiderMiddleware': 543,
#} # Enable or disable downloader middlewares
# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
#DOWNLOADER_MIDDLEWARES = {
# 'tencentSpider.middlewares.TencentspiderDownloaderMiddleware': 543,
#} # Enable or disable extensions
# See https://doc.scrapy.org/en/latest/topics/extensions.html
#EXTENSIONS = {
# 'scrapy.extensions.telnet.TelnetConsole': None,
#} # Configure item pipelines
# See https://doc.scrapy.org/en/latest/topics/item-pipeline.html
ITEM_PIPELINES = {
'tencentSpider.pipelines.TencentspiderPipeline': 300,#值表示优先级
} # Enable and configure the AutoThrottle extension (disabled by default)
# See https://doc.scrapy.org/en/latest/topics/autothrottle.html
#AUTOTHROTTLE_ENABLED = True
# The initial download delay
#AUTOTHROTTLE_START_DELAY = 5
# The maximum download delay to be set in case of high latencies
#AUTOTHROTTLE_MAX_DELAY = 60
# The average number of requests Scrapy should be sending in parallel to
# each remote server
#AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# Enable showing throttling stats for every response received:
#AUTOTHROTTLE_DEBUG = False # Enable and configure HTTP caching (disabled by default)
# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
#HTTPCACHE_ENABLED = True
#HTTPCACHE_EXPIRATION_SECS = 0
#HTTPCACHE_DIR = 'httpcache'
#HTTPCACHE_IGNORE_HTTP_CODES = []
#HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

settings.py

2、items.py:ORM

import scrapy

class TencentspiderItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
#抓取招聘的职位,连接,岗位类型
positionName = scrapy.Field()
positionLink = scrapy.Field()
positionType = scrapy.Field()

3、pipelines.py:保存数据的逻辑

import json

class TencentspiderPipeline(object):
def process_item(self, item, spider):
with open('tencent.json','ab') as f:
text = json.dumps(dict(item),ensure_ascii=False)+'\n'
f.write(text.encode('utf-8'))
return item

4、spiders/tencent.py:主体的逻辑

import scrapy
from tencentSpider.items import TencentspiderItem class TencentSpider(scrapy.Spider):
name = 'tencent'
allowed_domains = ['hr.tencent.com']
#start_urls = ['http://hr.tencent.com/']
# start_urls = []
# for i in range(0,530,10):
# url = "https://hr.tencent.com/position.php?keywords=python&start="
# url += str(i)+"#a"
# start_urls.append(url)
url = "https://hr.tencent.com/position.php?keywords=python&start="
offset = 0
start_urls = [url + str(offset)+"#a"] def parse(self, response):
for each in response.xpath('//tr[@class="even"]|//tr[@class="odd"]'):
item = TencentspiderItem()#item是一个空字典
item['positionName'] = each.xpath('./td[1]/a/text()').extract()[0]
item['positionLink'] = "https://hr.tencent.com/"+each.xpath('./td[1]/a/@href').extract()[0]
item['positionType'] = each.xpath('./td[2]/text()').extract()[0]
yield item #提取链接
if self.offset < 530:
self.offset += 10
nextPageUrl = self.url+str(self.offset)+"#a"
else:
return
#对下一页发起请求
yield scrapy.Request(nextPageUrl,callback = self.parse)

4、运行爬虫
            scrapy crawl tencent

5、运行爬虫 并将数据保存到指定文件中

    scrapy crawl tencent  -o  文件名
    如何在scrapy框架中设置代理服务器
        1、可以在middlewares.py文件中的DownloaderMiddleware类中的process_request()方法中,来完成代理服务器的设置
        2、然后将代理服务器的池放在setting.py文件中定义一个proxyList = [.....]
        3、process_request()方法里面通过random.choice(proxyList)随机选一个代理服务器
        注意:
            1、这里的代理服务器如果是私密的,有用户名和密码时,需要做一层简单的加密处理Base64
            2、在scrapy生成一个基础爬虫时使用:scrapy genspider tencent hr.tencent.com,如果要想生成一个高级的爬虫CrawlSpider
                scrapy genspider -t crawl tencent2 hr.tencent.com
                CrawSpider这个爬虫可以更加灵活的提取URL等信息,需要了解URL,LinkExtractor
    Scrapy-Redis搭建分布式爬虫
        Redis是一种内存数据库(提供了接口将数据保存到磁盘数据库中);

最新文章

  1. Linux快速体验
  2. HDU5716 : 带可选字符的多字符串匹配
  3. Unity 手指上下左右滑动的判定
  4. object-assign合并对象
  5. Laravel 5 中的配置
  6. 【Pro ASP.NET MVC 3 Framework】.学习笔记.6.SportsStore:导航
  7. SQL语句中各种数据类型转换方法总结
  8. linux 简单命令
  9. 如果用float实现居中
  10. Boost.Hana在visual studio 2017 rc中的残缺使用
  11. windows环境下,怎么解决无法使用ping命令
  12. testng及JMeter使用之初体验
  13. flask完成文件上传功能
  14. 开发 chrome 扩展 GitHub-Remarks 的一些想法以及遗憾
  15. python之面向对象的程序设计
  16. django之ajax补充
  17. [js]js的表单验证
  18. XSS、CSRF与验证码等等
  19. ASM配置OGG
  20. Oracle 数据库数据结构(包括存储过程,函数,表,触发器等)版本控制器

热门文章

  1. 求和:fft,表达式化简
  2. EffectiveJava-2
  3. vue-router动态添加路由报错
  4. P2905 [USACO08OPEN]农场危机Crisis on the Farm(简单dp+麻烦“回溯”)
  5. linux-mysql8的安装步骤详解及需要注意的坑
  6. Python 基础之socket编程(三)
  7. vue2获取dom节点
  8. virtualBox里Ubuntu设置静态IP
  9. pat 1108 Finding Average(20 分)
  10. suseoj 1206 众数问题 (相邻数比较)