是否可以使用python请求(?srn = true)库在网页中获取隐藏信息?

时间:2017-09-14 17:35:14

标签: python html web-scraping python-requests

这是网址 “https://www.gumtree.com/p/sofas/dfs-couches.-two-3-seaters.-one-teal-and-one-green.-pink-storage-footrest.-less-than-2-years-old.-/1265932994

登录详情: usrname:life@tech69.com pwd:shiva @ 123

在使用上述凭据打开页面时,我们可以获得类似的信息 联系方式 0770228XXXX

但是,如果在url末尾添加?srn = true,则会提供以下信息 (https://www.gumtree.com/p/sofas/dfs-couches.-two-3-seaters.-one-teal-and-one-green.-pink-storage-footrest.-less-than-2-years-old.-/1265932994?srn=true

联系方式 07702287887

我使用的代码如下:

import requests
from bs4 import BeautifulSoup
s = requests.session()
login_data = dict(email='life@tech69.com', password='shiva@123')
s.post('https://my.gumtree.com/login', data=login_data)
r = s.get('https://www.gumtree.com/p/sofas/dfs-couches.-two-3-seaters.-one-teal-and-one-green.-pink-storage-footrest.-less-than-2-years-old.-/1265932994?srn=true')
soup = BeautifulSoup(r.content, 'lxml')
y = soup.find('strong' , 'txt-large txt-emphasis form-row-label').text
print str(y)

但是上面的python代码仍然给出了部分信息 0770228XXXX 如何使用python代码获取完整信息。

1 个答案:

答案 0 :(得分:1)

该网站受recaptcha保护,这是一种专门用于防止自动登录的技术

所以行s.post('https://my.gumtree.com/login', data=login_data)

导致此

enter image description here

因此,当您尝试转到其他网址时,您实际上并未登录,并且不会显示该数字...

可能有办法规避这一点,但我不确定任何随便......