网页访客qq抓取(爬取过程中需要获取的关键信息:需要准备的工具 )

优采云 发布时间: 2021-11-05 17:10

  网页访客qq抓取(爬取过程中需要获取的关键信息:需要准备的工具

)

  周末两天在QQ空间写了一个访客记录爬虫,分享到这里;本文将列出所有要做的步骤,并一步步实现这个爬虫程序。

  特别说明:

  爬取过程中需要获取的关键信息如下:

  需要准备的工具有:

  准备好我们需要使用的工具后,我们开始获取上面列出的关键信息。

  第一个是访问者列表的URL,在这里我们可以使用chrome浏览器抓包。首先打开chrome浏览器,打开QQ空间个人中心,上面会有一排导航栏,我们选择“更多”-“访客”

  

  点击“Guest”进入后,我们在浏览器页面右击选择Check,可以看到下方会出现一排工具栏,然后我们选择“Network”项:

  

  刷新页面后,会加载一些url。我们在过滤器的输入框中输入“cgi_get_visitor_more”对加载的内容进行过滤,得到以cig_get_visitor开头的url,其中收录g_tk的信息。点击url,我们可以看到右侧Response加载的访客信息:

  

  接下来我们回到QQ空间个人中心的主页面,同样在浏览器的Network中查看一个cgi_get_visitor_simple开头的url,在右边的“Headers”中找到cookie值:

  准备好这些内容后,我们就可以开始编写python代码了:

  首先我们使用webdriver调用chrome浏览器,登录QQ空间获取cookie中的skey,其中qq_number填写你的QQ号,password为QQ登录密码:

  def testLogin():

# 抓取空间访客爬虫

qq_number = '*******'

password = '******'

login_url = 'https://i.qq.com/'

driver = webdriver.Chrome()

driver.get(login_url)

# QQ空间登录表单

driver.switch_to_frame('login_frame')

driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click()

time.sleep(1)

driver.find_element_by_xpath('//*[@id="u"]').send_keys(qq_number)

driver.find_element_by_xpath('//*[@id="p"]').send_keys(password)

time.sleep(1)

driver.find_element_by_xpath('//*[@id="login_button"]').click()

time.sleep(1)

cookie_list = driver.get_cookies()

cookie_dict = {}

for cookie in cookie_list:

if 'name' in cookie and 'value' in cookie:

cookie_dict[cookie['name']] = cookie['value']

return cookie_dict[u'skey']

  上述函数将获取登录cookie并返回解析后的skey;然后用得到的skey计算g_tk。计算g_tk的值,网上有很多现成的实现流程。下面是python的实现:

<p>def get_gtk(skey=u"******")://传入skey

hash = 5381

for i in skey:

hash += (hash

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线