Python2.7爬虫——爬取微信公众号文章

今天跟着这篇博客抓取微信公众号文章练习了一下爬虫,运行成功。想和大家分享一下过程中出现的问题和解决方法。
运行环境 windows 7 + Pycharm2018 + Python 2.7

目录

1.安装必要的Python包

运行代码需要安装以下packages:
pyquery、requests、selenium 、pyExcelerator和json
同时需要下载 phantomjs-2.1.1-windows,将里面的 phantomjs.exe 放到 Python2.7的Script 目录下
其中有两点说明:

1.1 关于下载selenium包

使用cmd下载selenium时不能直接输入 pip install selenium ,否则运行代码时会报错,因为默认install的是最新版本,也就是3.x版本的selenium,为了解决这个问题,键入以下代码即可:

pip uninstall selenium
y
pip install selenium==2.53.6

附上selenium的官方下载地址

1.2关于下载json包

使用cmd下载json包时亦不可直接输入pip install json ,会报错显示没有找到合适的json包,这是因为在python2中存在两个json包,分别是simplejson和json-py,这里我采用了simplejson,附上相应代码

pip install simplejson

下载成功后,import json ,不会报错,说明安装成功。

2.运行之前的准备

首先附上完整代码,再进行修改说明

# coding: utf-8

'''
通过搜狗搜索中的微信搜索入口来爬取
'''

# 这三行代码是防止在python2上面编码错误的,在python3上面不要要这样设置
import sys

reload(sys)
sys.setdefaultencoding('utf-8')

from urllib import quote
from pyquery import PyQuery as pq
from selenium import webdriver
from pyExcelerator import *  # 导入excel相关包

import requests
import time
import re
import json
import os


class weixin_spider:

    def __init__(self, keywords):
        ' 构造函数 '
        self.keywords = keywords
        # 搜狐微信搜索链接入口
        # self.sogou_search_url = 'http://weixin.sogou.com/weixin?type=1&query=%s&ie=utf8&_sug_=n&_sug_type_=' % quote(self.keywords)
        self.sogou_search_url = 'http://weixin.sogou.com/weixin?type=1&query=%s&ie=utf8&s_from=input&_sug_=n&_sug_type_=' % quote(
            self.keywords)

        # 爬虫伪装头部设置
        self.headers = {
  'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0'}

        # 设置操作超时时长
        self.timeout = 5

        # 爬虫模拟在一个request.session中完成
        self.s = requests.Session()

        # excel 第一行数据
        self.excel_data = [u'编号', u'时间', u'文章标题&
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值