https://www.bilibili.com/video/av19956343?p=136

#爬虫的设计思路:

首先确定需要爬取的网页URL地址

通过HTTP协议来获取对应的HTML页面

提取HTML页面里的有用数据:如果是需要的数据就保存起来;如果是其他URL就执行第二步。

#为什么使用python:

PHP:对多线程、异步支持不足、并发不足。爬虫是工具性程序,对速度和效率要求极高。

JAVA:代码里大,重构成本比较高,任何修改都会导致大量代码的变动,而爬虫需要经常修改部分代码。

C/C++:学习成本非常高,代码成型较慢。

PYTHON:三方模块多,调用其他接口方便。

#爬虫与反爬虫与反反爬虫之争:

反爬虫技术:User-Agent、代理、验证码、动态数据加载、加密数据。

 

https://www.bilibili.com/video/av19956343?p=138

#下载抓包工具小夜壶

https://blog.csdn.net/qq_35835118/article/details/94381177

使用教程:https://blog.csdn.net/forebe/article/details/98945139

 

 

https://www.bilibili.com/video/av19956343?p=139

#写爬虫

 

import urllib.request

#向指定的url地址发起请求,并返回服务器响应的数据(文件的对象)
response = urllib.request.urlopen("http://www.baidu.com")

#读取文件的全部内容,把读取到的数据赋值给一个字符串变量
#data=response.read().decode("utf-8")

#读取一行
#data=response.readline()

#读取文件的全部内容,把读取到的数据赋值给一个列表
data=response.readlines()
print(data)
print(type(data))
print(len(data))
print(type(data[9].decode("utf-8")))

#将爬取到的网页写入文件
#with open("E:/1.txt", "wb")as f:
#    f.write(data)

#response 属性
#返回当前环境的有关信息
print(response.info())

#返回状态码 200成功 304稳存
print(response.getcode())
if response.getcode()==200 or response.getcode()==304:
    #处理网页信息
    pass

 

posted on 2020-02-04 21:21  雨过山  阅读(102)  评论(0编辑  收藏  举报