美文网首页
python经常用到的东西。

python经常用到的东西。

作者: 知识学者 | 来源:发表于2018-10-27 17:57 被阅读18次

1.0 join()函数

语法: 'sep'.join(seq)
参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

返回值:返回一个以分隔符sep连接各个元素后生成的字符串

>>> lt=['abc',"def","-good"]
>>> pt="".join(lt)
>>> pt
'abcdef-good'
>>> at=" ".join(lt)
>>> at
'abc def -good'
>>> tp=("a","b","d")
>>> t="".join(tp)
>>> t
'abd'

拆分函数。

Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串

语法
split() 方法语法:
str.split(str="", num=string.count(str)).
参数
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。

Python split()方法

1.0 User-Agent机制
通过游览器的开发者工具中看到,每次进行http访问时,它的请求头里都有User-Agent这个参数,列如:
user-agent指的是访问网站时的用户代理,简单的说,它指的是你的访问终端,即游览器、硬件平台、系统软件的相关信息。
现在很多网站为了防爬虫,都会对user-agent这个参数进行检测,我们在爬数据时尽量把这个参数带上。

在爬取数据时也可以合理地切换不同的user-agent来营造新的客户机环境,降低被侦测的几率,提升其并发抓取数据的能力。特别是对应单点式登录时,使你在同台服务器上提升数据并发爬取的能力(即模拟多个用户登录)。(属个人意见,请大家指教)

2.0 Referer机制

每次进行http访问时,它的请求头里经常会包含referer这个参数
referer翻译成中文是“引用”的意思,在http头里指代的是引用站点,即访问该链接的前一个访问的链接,告诉该链接他是从哪里跳转过来的。
为了反爬虫,部分网站或接口都对referer做了监控,如淘宝等网站。无referer或假referer都被认定为非法访问。这时候就需要我们用游览器开发者工具去跟踪一下该链接访问流程,从而提取出对应的referer加到请求头中,来实现数据爬取。

3.0 cookie
这可是重点啊,cookie在我们的web应用中,常常用来辨别用户身份、进行session跟踪等功能,也起到了反爬虫作用。以下我会简述我在实践中所遇到的cookie反爬虫机制和一些对策。(如有问题请及时提出,谢谢)
身份验证
很多网站的数据都是需要你登录后才能进行数据爬取,而用户的登录状态则是记录在cookie中,大部分的网站都是把sessionId作为key放在cookie中,来跟踪用户。这个时候我们就需要去模拟用户的登录来获取对应的cookie。
模拟登陆是关键点也是个大难点,只要你成功实现模拟登陆,后面的数据爬取都将不是问题。这里我就拿比较普通的网站来举例子:
首先是打开游览器开发者工具,先人工尝试一遍登录,细细观察整个流程确定需要哪些参数,需要注意cookie的变化。

文章
爬虫小技巧

相关文章

网友评论

      本文标题:python经常用到的东西。

      本文链接:https://www.haomeiwen.com/subject/djpdtqtx.html