使用登录信息使用python抓取网站

使用登录信息使用python抓取网站,python,html,web-scraping,Python,Html,Web Scraping,我正试图使用lxml从我订阅的新闻网站上刮取文章 我在电脑上的每个浏览器上都登录了网站(这不重要吗?),但每当我试图从特定文章中获取任何文本时,请使用以下方法: 页面=请求。获取(“”) tree=html.fromstring(page.text) article=tree.xpath(“//div/p/text()”) 我得到以下回应: [“您已经查看了免费物品的折扣。如果您想查看更多,请单击下面的按钮。”] 有什么想法或建议来解决这个问题吗 免责声明:我不熟悉python和web抓取 编辑

我正试图使用
lxml
从我订阅的新闻网站上刮取文章

我在电脑上的每个浏览器上都登录了网站(这不重要吗?),但每当我试图从特定文章中获取任何文本时,请使用以下方法:

页面=请求。获取(“”)

tree=html.fromstring(page.text)

article=tree.xpath(“//div/p/text()”)

我得到以下回应:

[“您已经查看了免费物品的折扣。如果您想查看更多,请单击下面的按钮。”]

有什么想法或建议来解决这个问题吗

免责声明:我不熟悉python和web抓取


编辑:下面发布了使用Selenium library的解决方案

,因此基本上您希望抓取一个网站并在您的网站中显示它,可能会以更好的方式显示

因此,我建议您使用,这是一个web抓取服务,它将为您提供api,以便以适当的模型获取数据

看看吧,它应该能帮你完成任务

如果没有,您可以用PHP或Javascript创建自己的刮板,Javascript中也有库

很抱歉,对Python一无所知,但是使用Kimono的api,您也可以在Python中实现

希望有帮助


快乐编码

因此,我试图抓取的网站拒绝了我将发送的所有post请求(我尝试了Python、R和PHP),我发现我只能用实际的浏览器加载新闻文章

多亏了@duhaime,我用Selenium实现了这一点。这是我的密码:

import selenium
from selenium import webdriver

# I used Firefox, but you could use Chrome or IE
browser = webdriver.Firefox()

browser.get('http://www.SomeWebsite.com/login')
# I needed to stop the script here to actually login.
# I tried to use an existing profile w/ my username & password but the website
# rejected my profile info and locked me out of the account

browser.get('http://www.SomeWebsite.com/blah/blah/blah.html')

element = browser.find_element_by_id("TheElementYouNeed").text
# This downloads all the text from the article at this particle 'id' element

Selenium绑定文档:

Selenium是处理按钮和交互式javascript的一个很好的库——也有很好的Python绑定可用。感谢您提供的REC,我将检查这些libraries@duhaime,Selenium绑定工作起来很有魅力。我会发布我的solution@mrp:很高兴听到这个消息!这是一个了不起的软件包。谢谢,我不熟悉PHP,我今晚/明天会试用一下,然后回来。。