您当前的位置: 首页 >  Python

嗨学编程

暂无认证

  • 0浏览

    0关注

    1405博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

python使用代理处理反爬抓取微信文章

嗨学编程 发布时间:2019-05-14 15:46:52 ,浏览量:0

1.分析网页确定思路

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

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

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

思路梳理:

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

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

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

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

注意点:

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

2.代码实现

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.运行效果

关注
打赏
1663681728
查看更多评论
立即登录/注册

微信扫码登录

0.0961s