学会python的好处,轻松抓取知乎数据

110 阅读50分钟
学会python以后真的是用处很大,下面传智播客分享一个关于学会python以后抓取知乎数据的案例。
安装Scrapy爬虫框架
关于如何安装Python以及Scrapy框架,这里不做介绍,请自行网上搜索。
初始化
安装好Scrapy后,执行 scrapy startproject myspider
接下来你会看到 myspider 文件夹,目录结构如下:
scrapy.cfg
myspider
items.py
pipelines.py
settings.py
__init__.py
spiders
__init__.py
编写爬虫文件
在spiders目录下新建 users.py
[color=rgb(184, 92, 0) !important]
# -*- coding: utf-8 -*-

[color=teal !important]
import
[color=teal !important]
scrapy

[color=teal !important]
import
[color=teal !important]
os

[color=teal !important]
import
[color=teal !important]
time

[color=teal !important]
from
[color=rgb(0, 45, 122) !important]
zhihu
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
items
[color=teal !important]
import
[color=teal !important]
UserItem

[color=teal !important]
from
[color=rgb(0, 45, 122) !important]
zhihu
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
myconfig
[color=teal !important]
import
[color=rgb(0, 45, 122) !important]
UsersConfig
[color=rgb(0, 111, 224) !important]
[color=rgb(184, 92, 0) !important]
# 爬虫配置


[color=rgb(128, 0, 128) !important]
class
[color=rgb(0, 111, 224) !important]
[color=teal !important]
UsersSpider
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
scrapy
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
Spider
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
:

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
name
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'users'

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
domain
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'https://www.zhihu.com'

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
login_url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'https://www.zhihu.com/login/email'

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
"Accept"
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
"Accept-Language"
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
"zh-CN,zh;q=0.8"
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
"Connection"
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
"keep-alive"
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
"Host"
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
"www.zhihu.com"
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
"Upgrade-Insecure-Requests"
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
"1"
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
"User-Agent"
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}


[color=rgb(0, 111, 224) !important]
[color=teal !important]
def
[color=teal !important]
__init__
[color=rgb(51, 51, 51) !important]
(
self
[color=rgb(51, 51, 51) !important]
,
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
None
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
:

[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
user_url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=teal !important]
url


[color=teal !important]
[color=teal !important]
def
[color=teal !important]
start_requests
[color=rgb(51, 51, 51) !important]
(
self
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
:

[color=rgb(0, 111, 224) !important]
[color=teal !important]
yield
[color=rgb(0, 45, 122) !important]
scrapy
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
Request
[color=rgb(51, 51, 51) !important]
(

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
domain
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
UsersConfig
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 153, 153) !important]
1

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
callback
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
request
[color=rgb(51, 51, 51) !important]
_
captcha
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
)


[color=rgb(0, 111, 224) !important]
[color=teal !important]
def
[color=teal !important]
request_captcha
[color=rgb(51, 51, 51) !important]
(
self
[color=rgb(51, 51, 51) !important]
,
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
:

[color=rgb(0, 111, 224) !important]
[color=rgb(184, 92, 0) !important]
# 获取_xsrf值

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
_xsrf
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
css
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'input[name="_xsrf"]::attr(value)'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
[
[color=rgb(0, 153, 153) !important]
0
[color=rgb(51, 51, 51) !important]
[color=rgb(0, 111, 224) !important]
[color=rgb(184, 92, 0) !important]
# 获取验证码地址

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
captcha_url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'http://www.zhihu.com/captcha.gif?r='
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
+
[color=rgb(0, 111, 224) !important]
[color=teal !important]
str
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
time
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
time
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
*
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 153, 153) !important]
1000
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(184, 92, 0) !important]
# 准备下载验证码

[color=rgb(0, 111, 224) !important]
[color=teal !important]
yield
[color=rgb(0, 45, 122) !important]
scrapy
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
Request
[color=rgb(51, 51, 51) !important]
(

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
captcha_url
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
UsersConfig
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'_xsrf'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
_xsrf

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
callback
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
download
[color=rgb(51, 51, 51) !important]
_
captcha
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
)


[color=rgb(0, 111, 224) !important]
[color=teal !important]
def
[color=teal !important]
download_captcha
[color=rgb(51, 51, 51) !important]
(
self
[color=rgb(51, 51, 51) !important]
,
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
:

[color=rgb(0, 111, 224) !important]
[color=rgb(184, 92, 0) !important]
# 下载验证码

[color=rgb(0, 111, 224) !important]
[color=teal !important]
with
[color=teal !important]
open
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'captcha.gif'
[color=rgb(51, 51, 51) !important]
,
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'wb'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
as
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
fp
[color=rgb(0, 111, 224) !important]
:

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
fp
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
write
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
body
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(184, 92, 0) !important]
# 用软件打开验证码图片

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
os
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
system
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'start captcha.gif'
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(184, 92, 0) !important]
# 输入验证码

[color=rgb(0, 111, 224) !important]
print
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'Please enter captcha: '

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
captcha
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=teal !important]
raw_input
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)


[color=rgb(0, 111, 224) !important]
[color=teal !important]
yield
[color=rgb(0, 45, 122) !important]
scrapy
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
FormRequest
[color=rgb(51, 51, 51) !important]
(

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
login_url
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
formdata
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'email'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
UsersConfig
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'email'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'password'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
UsersConfig
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'password'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'_xsrf'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'_xsrf'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'remember_me'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'true'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'captcha'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
captcha

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
UsersConfig
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(51, 51, 51) !important]
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
callback
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
request
[color=rgb(51, 51, 51) !important]
_
zhihu
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
)


[color=rgb(0, 111, 224) !important]
[color=teal !important]
def
[color=teal !important]
request_zhihu
[color=rgb(51, 51, 51) !important]
(
self
[color=rgb(51, 51, 51) !important]
,
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
:

[color=rgb(0, 111, 224) !important]
[color=teal !important]
yield
[color=rgb(0, 45, 122) !important]
scrapy
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
Request
[color=rgb(51, 51, 51) !important]
(

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
user_url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
+
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'/about'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
UsersConfig
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'from'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'sign'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'else'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'data'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{
[color=rgb(51, 51, 51) !important]
}

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
callback
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
user_item
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
dont_filter
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(128, 0, 128) !important]
True

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
)


[color=rgb(0, 111, 224) !important]
[color=teal !important]
yield
[color=rgb(0, 45, 122) !important]
scrapy
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
Request
[color=rgb(51, 51, 51) !important]
(

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
user_url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
+
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'/followees'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
UsersConfig
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'from'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'sign'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'else'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'data'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{
[color=rgb(51, 51, 51) !important]
}

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
callback
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
user_start
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
dont_filter
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(128, 0, 128) !important]
True

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
)


[color=rgb(0, 111, 224) !important]
[color=teal !important]
yield
[color=rgb(0, 45, 122) !important]
scrapy
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
Request
[color=rgb(51, 51, 51) !important]
(

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
user_url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
+
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'/followers'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
UsersConfig
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'from'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'sign'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'else'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'data'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{
[color=rgb(51, 51, 51) !important]
}

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
callback
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
user_start
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
dont_filter
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(128, 0, 128) !important]
True

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
)


[color=rgb(0, 111, 224) !important]
[color=teal !important]
def
[color=teal !important]
user_start
[color=rgb(51, 51, 51) !important]
(
self
[color=rgb(51, 51, 51) !important]
,
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
:

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
sel_root
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//h2[@class="zm-list-content-title"]'
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(184, 92, 0) !important]
# 判断关注列表是否为空

[color=rgb(0, 111, 224) !important]
if
[color=rgb(0, 111, 224) !important]
[color=teal !important]
len
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel_root
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
:

[color=rgb(0, 111, 224) !important]
for
[color=rgb(0, 111, 224) !important]
[color=teal !important]
sel
in
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
sel_root
[color=rgb(0, 111, 224) !important]
:

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
people_url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'a/@href'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
[
[color=rgb(0, 153, 153) !important]
0
[color=rgb(51, 51, 51) !important]

[color=rgb(0, 111, 224) !important]
[color=teal !important]
yield
[color=rgb(0, 45, 122) !important]
scrapy
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
Request
[color=rgb(51, 51, 51) !important]
(

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
people_url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
+
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'/about'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
UsersConfig
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'from'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'sign'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'else'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'data'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{
[color=rgb(51, 51, 51) !important]
}

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
callback
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
user_item
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
dont_filter
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(128, 0, 128) !important]
True

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
)


[color=rgb(0, 111, 224) !important]
[color=teal !important]
yield
[color=rgb(0, 45, 122) !important]
scrapy
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
Request
[color=rgb(51, 51, 51) !important]
(

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
people_url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
+
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'/followees'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
UsersConfig
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'from'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'sign'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'else'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'data'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{
[color=rgb(51, 51, 51) !important]
}

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
callback
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
user_start
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
dont_filter
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(128, 0, 128) !important]
True

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
)


[color=rgb(0, 111, 224) !important]
[color=teal !important]
yield
[color=rgb(0, 45, 122) !important]
scrapy
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
Request
[color=rgb(51, 51, 51) !important]
(

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
people_url
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
+
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'/followers'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
headers
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
UsersConfig
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'proxy'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
meta
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'cookiejar'
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'from'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'sign'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'else'
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
'data'
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
{
[color=rgb(51, 51, 51) !important]
}

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
}
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
callback
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
self
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
user_start
[color=rgb(51, 51, 51) !important]
,

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
dont_filter
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(128, 0, 128) !important]
True

[color=rgb(0, 111, 224) !important]
[color=rgb(51, 51, 51) !important]
)


[color=rgb(0, 111, 224) !important]
[color=teal !important]
def
[color=teal !important]
user_item
[color=rgb(51, 51, 51) !important]
(
self
[color=rgb(51, 51, 51) !important]
,
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
:

[color=rgb(0, 111, 224) !important]
[color=teal !important]
def
[color=teal !important]
value
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
list
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
:

[color=rgb(0, 111, 224) !important]
return
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
list
[color=rgb(51, 51, 51) !important]
[
[color=rgb(0, 153, 153) !important]
0
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
if
[color=rgb(0, 111, 224) !important]
[color=teal !important]
len
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
list
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
else
[color=rgb(0, 111, 224) !important]
[color=rgb(221, 17, 68) !important]
''


[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//div[@class="zm-profile-header ProfileCard"]'
[color=rgb(51, 51, 51) !important]
)


[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=teal !important]
UserItem
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'url'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
response
[color=rgb(51, 51, 51) !important]
.
[color=rgb(0, 45, 122) !important]
url
[color=rgb(51, 51, 51) !important]
[
[color=rgb(0, 111, 224) !important]
:
[color=rgb(0, 111, 224) !important]
-
[color=rgb(0, 153, 153) !important]
6
[color=rgb(51, 51, 51) !important]
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'name'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//a[@class="name"]/text()'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
[
[color=rgb(0, 153, 153) !important]
0
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
.
[color=teal !important]
encode
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'utf-8'
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'bio'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=teal !important]
value
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//span[@class="bio"]/@title'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
encode
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'utf-8'
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'location'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=teal !important]
value
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//span[contains(@class, "location")]/@title'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
encode
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'utf-8'
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'business'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=teal !important]
value
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//span[contains(@class, "business")]/@title'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
encode
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'utf-8'
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'gender'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 153, 153) !important]
0
[color=rgb(0, 111, 224) !important]
if
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//i[contains(@class, "icon-profile-female")]'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(0, 111, 224) !important]
else
[color=rgb(0, 111, 224) !important]
[color=rgb(0, 153, 153) !important]
1

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'avatar'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=teal !important]
value
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//img[@class="Avatar Avatar--l"]/@src'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'education'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=teal !important]
value
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//span[contains(@class, "education")]/@title'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
encode
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'utf-8'
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'major'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=teal !important]
value
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//span[contains(@class, "education-extra")]/@title'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
encode
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'utf-8'
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'employment'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=teal !important]
value
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//span[contains(@class, "employment")]/@title'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
encode
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'utf-8'
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'position'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=teal !important]
value
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//span[contains(@class, "position")]/@title'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
encode
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'utf-8'
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'content'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=teal !important]
value
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//span[@class="content"]/text()'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
strip
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
encode
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'utf-8'
[color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'ask'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(128, 0, 128) !important]
int
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//div[contains(@class, "profile-navbar")]/a[2]/span[@class="num"]/text()'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
[
[color=rgb(0, 153, 153) !important]
0
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'answer'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(128, 0, 128) !important]
int
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//div[contains(@class, "profile-navbar")]/a[3]/span[@class="num"]/text()'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
[
[color=rgb(0, 153, 153) !important]
0
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'agree'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(128, 0, 128) !important]
int
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//span[@class="zm-profile-header-user-agree"]/strong/text()'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
[
[color=rgb(0, 153, 153) !important]
0
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
)

[color=rgb(0, 111, 224) !important]
[color=rgb(0, 45, 122) !important]
item
[color=rgb(51, 51, 51) !important]
[
[color=rgb(221, 17, 68) !important]
'thanks'
[color=rgb(51, 51, 51) !important][color=rgb(0, 111, 224) !important]
[color=rgb(0, 111, 224) !important]
=
[color=rgb(0, 111, 224) !important]
[color=rgb(128, 0, 128) !important]
int
[color=rgb(51, 51, 51) !important]
(
[color=rgb(0, 45, 122) !important]
sel
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
xpath
[color=rgb(51, 51, 51) !important]
(
[color=rgb(221, 17, 68) !important]
'//span[@class="zm-profile-header-user-thanks"]/strong/text()'
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
.
[color=teal !important]
extract
[color=rgb(51, 51, 51) !important]
(
[color=rgb(51, 51, 51) !important]
)
[color=rgb(51, 51, 51) !important]
[
[color=rgb(0, 153, 153) !important]
0
[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important]
)


[color=rgb(0, 111, 224) !important]
[color=teal !important]
yield
[color=rgb(0, 45, 122) !important]
item
  添加爬虫配置文件
  在myspider目录下新建myconfig.py,并添加以下内容,将你的配置信息填入相应位置
  # -*- coding: utf-8 -*-
  UsersConfig = {
  # 代理
  'proxy': '',
  # 知乎用户名和密码
  'email': 'your email',
  'password': 'your password',
  }
  DbConfig = {
  # db config
  'user': 'db user',
  'passwd': 'db password',
  'db': 'db name',
  'host': 'db host',
  }
  修改items.py
  # -*- coding: utf-8 -*-
  import scrapy
  class UserItem(scrapy.Item):
  # define the fields for your item here like:
  url = scrapy.Field()
  name = scrapy.Field()
  bio = scrapy.Field()
  location = scrapy.Field()
  business = scrapy.Field()
  gender = scrapy.Field()
  avatar = scrapy.Field()
  education = scrapy.Field()
  major = scrapy.Field()
  employment = scrapy.Field()
  position = scrapy.Field()
  content = scrapy.Field()
  ask = scrapy.Field()
  answer = scrapy.Field()
  agree = scrapy.Field()
  thanks = scrapy.Field()
  1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  # -*- coding: utf-8 -*-
  import scrapy
  class UserItem(scrapy.Item):
  # define the fields for your item here like:
  url = scrapy.Field()
  name = scrapy.Field()
  bio = scrapy.Field()
  location = scrapy.Field()
  business = scrapy.Field()
  gender = scrapy.Field()
  avatar = scrapy.Field()
  education = scrapy.Field()
  major = scrapy.Field()
  employment = scrapy.Field()
  position = scrapy.Field()
  content = scrapy.Field()
  ask = scrapy.Field()
  answer = scrapy.Field()
  agree = scrapy.Field()
  thanks = scrapy.Field()
  将用户数据存入mysql数据库
  修改pipelines.py
  # -*- coding: utf-8 -*-
  import MySQLdb
  import datetime
  from zhihu.myconfig import DbConfig
  class UserPipeline(object):
  def __init__(self):
  self.conn = MySQLdb.connect(user = DbConfig['user'], passwd = DbConfig['passwd'], db = DbConfig['db'], host = DbConfig['host'], charset = 'utf8', use_unicode = True)
  self.cursor = self.conn.cursor()
  # 清空表
  # self.cursor.execute('truncate table weather;')
  # self.conn.commit()
  def process_item(self, item, spider):
  curTime = datetime.datetime.now()
  try:
  self.cursor.execute(
  """INSERT IGNORE INTO users (url, name, bio, location, business, gender, avatar, education, major, employment, position, content, ask, answer, agree, thanks, create_at)
  VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)""",
  (
  item['url'],
  item['name'],
  item['bio'],
  item['location'],
  item['business'],
  item['gender'],
  item['avatar'],
  item['education'],
  item['major'],
  item['employment'],
  item['position'],
  item['content'],
  item['ask'],
  item['answer'],
  item['agree'],
  item['thanks'],
  curTime
  )
  )
  self.conn.commit()
  except MySQLdb.Error, e:
  print 'Error %d %s' % (e.args[0], e.args[1])
  return item
  1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  # -*- coding: utf-8 -*-
  import MySQLdb
  import datetime
  from zhihu.myconfig import DbConfig
  class UserPipeline(object):
  def __init__(self):
  self.conn = MySQLdb.connect(user = DbConfig['user'], passwd = DbConfig['passwd'], db = DbConfig['db'], host = DbConfig['host'], charset = 'utf8', use_unicode = True)
  self.cursor = self.conn.cursor()
  # 清空表
  # self.cursor.execute('truncate table weather;')
  # self.conn.commit()
  def process_item(self, item, spider):
  curTime = datetime.datetime.now()
  try:
  self.cursor.execute(
  """INSERT IGNORE INTO users (url, name, bio, location, business, gender, avatar, education, major, employment, position, content, ask, answer, agree, thanks, create_at)
  VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)""",
  (
  item['url'],
  item['name'],
  item['bio'],
  item['location'],
  item['business'],
  item['gender'],
  item['avatar'],
  item['education'],
  item['major'],
  item['employment'],
  item['position'],
  item['content'],
  item['ask'],
  item['answer'],
  item['agree'],
  item['thanks'],
  curTime
  )
  )
  self.conn.commit()
  except MySQLdb.Error, e:
  print 'Error %d %s' % (e.args[0], e.args[1])
  return item
  修改settings.py
  找到 ITEM_PIPELINES,改为:
  ITEM_PIPELINES = {
  'myspider.pipelines.UserPipeline': 300,
  }
  1
  2
  3
  ITEM_PIPELINES = {
  'myspider.pipelines.UserPipeline': 300,
  }
  在末尾添加,设置爬虫的深度
  DEPTH_LIMIT=10
  1
  DEPTH_LIMIT=10
  爬取知乎用户数据
  确保MySQL已经打开,在项目根目录下打开终端,
  执行 scrapy crawl users -a url=https://www.zhihu.com/people/,
  其中user为爬虫的第一个用户,之后会根据该用户关注的人和被关注的人进行爬取数据
  接下来会下载验证码图片,若未自动打开,请到根目录下打开 captcha.gif,在终端输入验证码
  数据爬取Loading…