博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python使用代理处理反爬抓取微信文章
阅读量:2071 次
发布时间:2019-04-29

本文共 965 字,大约阅读时间需要 3 分钟。

1.分析网页确定思路

我们这次准备爬取搜狗的微信搜索页面的结果,以风景为例:

可以看到这和我们之前爬取过的案例几乎类似,没什么新意,但是这里有一个比较神奇的地方就是10页以后的内容需要扫码登录微信才能查看

另外,在请求次数过多的时候还会出现封禁 ip 的情况,对应我们页面的状态码就是 出现 302 跳转

思路梳理:

(1)requests 请求目标站点,得到索引页的源码,返回结果

(2)如果遇到 302 则说明 ip 被封,切换代理后重试

(3)请求详情页,分析得到文章标题和内容

(4)将结构化数据保存到 MongoDB 数据库

注意点:

我们直接看浏览器的地址栏我们能看到很多的参数,但是实际上很大一部分是不需要的,那么为了我们的写代码的方便,我们尽量对参数进行简化,只留下最核心的参数

config.py

# 数据库配置

MONGO_URL = 'localhost'

MONGO_DB = 'weixin'

MONGO_TABLE = 'articles'

#参数设置

KEYWORD = '风景'

MAX_COUNT = 5

BASE_URL = 'https://weixin.sogou.com/weixin?'

#代理设置

APP_KEY = ""

IP_PORT = 'transfer.mogumiao.com:9001'

PROXIES = {"http": "http://" + IP_PORT, "https": "https://" + IP_PORT}

HEADERS = {

    'Cookie':'',

    'Host':'weixin.sogou.com',

    'Upgrade-Insecure-Requests':'1',

    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',

    'Proxy-Authorization': 'Basic '+ APP_KEY,

    'Referer':'https://weixin.sogou.com/weixin'

}

spider.py

3.运行效果

转载地址:http://uonmf.baihongyu.com/

你可能感兴趣的文章
一个 tflearn 情感分析小例子
查看>>
attention 机制入门
查看>>
手把手用 IntelliJ IDEA 和 SBT 创建 scala 项目
查看>>
GAN 的 keras 实现
查看>>
AI 在 marketing 上的应用
查看>>
Logistic regression 为什么用 sigmoid ?
查看>>
Logistic Regression 为什么用极大似然函数
查看>>
LightGBM 如何调参
查看>>
用 TensorFlow.js 在浏览器中训练神经网络
查看>>
梯度消失问题与如何选择激活函数
查看>>
为什么需要 Mini-batch 梯度下降,及 TensorFlow 应用举例
查看>>
为什么在优化算法中使用指数加权平均
查看>>
初探Java设计模式5:一文了解Spring涉及到的9种设计模式
查看>>
Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
查看>>
Java集合详解2:一文读懂Queue和LinkedList
查看>>
Java集合详解4:一文读懂HashMap和HashTable的区别以及常见面试题
查看>>
Java集合详解5:深入理解LinkedHashMap和LRU缓存
查看>>
Java集合详解6:这次,从头到尾带你解读Java中的红黑树
查看>>
Java集合详解8:Java集合类细节精讲,细节决定成败
查看>>
Java并发指南2:深入理解Java内存模型JMM
查看>>