专栏首页cspython经常用到的东西。

python经常用到的东西。

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的变化。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 京东分析

    网址:https://item.jd.com/8782991.html#comment

    东风冷雪
  • 网络测试与分析工具简介

    <h2>主要是几个dos命令,直接上图和网上已有的知识</h2> <ol> <li>ipconfig<b>----查看和设置网络配置</b></li> <...

    东风冷雪
  • c++那些事儿10.0 STL--Vector

    知识点综述: ---- vector:动态数组,是序列式容器。 这里只介绍vector使用,其实现可以参考数据结构,其函数可以查看stl的源码。 优点...

    东风冷雪
  • JS的运行机制

    代码块: JS中的代码块是指由<script>标签分割的代码段。JS是按照代码块来进行编译和执行的,代码块间相互独立(即就算代码块1出错,但不影响代码块2的加载...

    用户3159471
  • 深入浅出MyBatis-快速入门

    Tanyboye
  • 聊聊rocketmq-client-go的defaultProducer

    本文主要研究一下rocketmq-client-go的defaultProducer

    codecraft
  • Java编程思维

    本书从基本的编程术语入手,用代码示例诠释计算机科学概念,旨在教会读者像计算机科学家那样思考,并掌握解决问题这一重要技能。书中内容共分为14章、3个附录,每章末都...

    用户3157710
  • 聊聊rocketmq-client-go的defaultProducer

    本文主要研究一下rocketmq-client-go的defaultProducer

    codecraft
  • 首届中国电子合同大会举办,法大大多项创新成果重磅发布 | 腾讯SaaS加速器·学员动态

    ? 10月15日,“新契象·大不同——首届中国电子合同大会暨2019法大大战略发布”在北京举行,大会由中国电子认证服务产业联盟指导,由腾讯SaaS加速器首期项...

    腾讯SaaS加速器
  • Spring框架注解扫描开启之配置细节

    Spring框架对Bean进行装配提供了很灵活的方式,下面归纳一下主要的方式: • 在XML中进行显示配置 • 在Java中进行显示配置 •...

    SmileNicky

扫码关注云+社区

领取腾讯云代金券