#爬虫进阶知识点(方便温习做点笔记)
- ua添加
- cookie获取
- lxml之etree利用
- URL自动获取
- 一种图片保存方式
ua上什么?
ua即是User-agent的缩写,个人理解为使得服务器通过ua把你识别为一个浏览器而不是爬虫;
ua获取
- 打开chrome浏览器,右键检查,点击network,在下方寻找到一个url点击一下,即可出现一些信息,其中一条为User-agent
- 也可以在网上搜索ua大全,随便抄一条
本人上网上随便抄的:
‘User-Agent’ : ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3100.0 Safari/537.36’,
cookie是什么?
cookie可以从网上随便一搜,大概意思就是给予一个短时间的证书,在此期间只要这个证书便可以访问。
cookie获取同上ua获取方式一,打开浏览器找;
但是这样手动寻找显得很。。。
于是需要利用一些手段去自动获取:
def getcookie(url):
response = requests.get(url)
cookie = response.cookies
print(cookie)
print('——————————————')
mycookie = ''
for key, value in cookie.items():
mycookie = mycookie + str(key) + '=' + str(value) + ';'
print(mycookie)
return mycookie
requests.get()的回应中含有cookies,但它是键值对应的,只需进行简单的字典遍历,并按照浏览器现实格式进行重组便可以获得完整cookie,用来传给完整请求使用。
lxml之etree使用
lxml是一个非常好用的库,本人只接触了一小部分——etree,
‘’‘
html = etree.HTML(text)
’‘’
通过使用etree可以形成很方便的html格式数据,通过xpath去很简单的解析。
url自动获取
这点比较简单,只要通过观察网页源码,找到可能含有url的标签进行读取,在读取时加入异常捕获:
try:
#正常的代码
except Exception as e:
print(‘it is a false url.\n’)
pass
一种图片下载方式
可以把图片对应的url直接获取到,print一下,查看内容,显然是乱码。但是通过写文件方式,直接写爬取到文件的content,你就会发现一张图片已经被下载再来了。
image = requests.get(url, headers=headers)
imgname = str(random.randint(1,100)) + ‘.jpg’
print(imgname)
print(image)
with open(imgname, ‘wb’) as f:
f.write(image.content)
就这么多,也是一点点小知识,很快就能掌握,喜欢的话点个赞。(因为最近手上没电脑,都是拿ipad做的,这个代码格式啥的编辑不对,丑点别介意)