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
原文:https://www.cnblogs.com/kt-xb/p/12261489.html