使用登录信息使用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,我今晚/明天会试用一下,然后回来。。