-
from urllib import request
import http.cookiejar
代码如下:
url="https://www.baidu.com/" print("第一种方法") response1 = request.urlopen(url) print(response1.getcode()) print(len(response1.read())) print("第二种方法") Request = request.Request(url) Request.add_header('user-agent','Mozilla/5.0') response2 = request.urlopen(url) print(response2.getcode()) print(len(response2.read())) print('第三种方法') cj = http.cookiejar.CookieJar() opener = request.build_opener(request.HTTPCookieProcessor(cj)) request.install_opener(opener) response3 = request.urlopen(url) print(response3.getcode()) print(response3.read())
查看全部 -
情景处理
查看全部 -
查看全部
-
查看全部
-
You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?
查看全部 -
三种实现方式:
内存,可以将待爬的URL集合和已爬的URL集合放到python内存中,以set()来存储,因为set()可以去重
关系数据库,(MySQL)URL(URL,is_crawled)第二个参数表示是否该URL已经被抓取
缓存数据库,(credit)已爬URL和待爬URL放在数据结构set()中
一般大型的公司用缓存数据库,小型的可以用内存,但如果内存不够或者想想永久存储,用关系数据库。
查看全部 -
URL管理器包括待爬取的URL和已爬取的URL
分成两部分的原因:防止重复抓取和循环抓取,因为一个URL可以指向很多个URL,如果在没有URL管理器时,两个URL互相指向,就会循环抓取网页。
功能:1.添加新的URL到待爬取集合中;
2.判断该URL是否在容器中;
3.获取待爬的URL;
4.是否还有待爬的URL;
5.爬取结束后,将URL从待爬集合转移到已爬集合
查看全部 -
查看全部
-
爬虫过程设计
查看全部 -
查看全部
-
查看全部
-
查看全部
-
查看全部
-
查看全部
-
DOM树
查看全部
举报
0/150
提交
取消