我正在从网站上抓取餐馆列表(已获得许可),但我遇到了问题。网站上的html
python片段与源代码中的html不同。在python的html中找到其网站上不到一半的餐厅。这是我的代码如下所示:
import requests
from bs4 import BeautifulSoup
from tempfile import TemporaryFile
import xlwt
url = 'https://www.example.com'
r = requests.get(url)
data = BeautifulSoup(r.text)
soup = data.find_all('span',{'class':'restaurant_name'})
print soup
现在,我知道这很不方便,但由于公司不允许我使用,因此无法显示html。我只是想知道你们是否一般都知道python下载的html与源代码中的html有什么不同,以及我可以做些什么。
提前致谢!
您可以为此目的使用Selenium。它将像浏览器一样在运行时呈现您的网页。您可以将Selenium与firefox,chrome或phantomjs一起使用。
硒
由于大多数站点都是由现代JavaScript框架组成的,因此我们基本上使用硒来完全呈现我们的网页。通常,它用于开发爬网程序/爬网程序以从网站的不同页面收集数据,或者Selenium也用于网络自动化。
有关Selenium的更多信息,请在此处阅读:http:
//selenium-
python.readthedocs.io/另外,我还为初学者撰写了有关Slenium的博客文章。也检查一下这个http://blog.hassanmehmood.com/creating-
your-first-crawler-in-python/
例
import urllib
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
profile_link = 'http://hassanmehmood.com'
class TitleScrapper(object):
def __init__(self):
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.startup.homepage_override.mstone", "ignore") #Avoid startup screen
fp.set_preference("startup.homepage_welcome_url.additional", "about:blank")
self.driver = webdriver.Firefox(firefox_profile=fp)
self.driver.set_window_size(1120, 550)
def scrape_profile(self):
self.driver.get(profile_link)
print self.driver.title
self.driver.close()
def scrape(self):
self.scrape_profile()
if __name__ == '__main__':
scraper = TitleScrapper()
scraper.scrape()
网页爬取 编写网页需要使用 HTML 语言,如果你有 HTML 学习经历就能知道所谓 HTML 语言就是一种规格化文档。有时我们能很方便的从中获取一些需要的数据,并且保持数据原有格式,如 csv 、json 等格式。但有时网站并不会提供一目了然的数据格式。 所以我们就需要爬取网页。网页爬取就是通过电脑程序编写,从不同的网页中去删选、挖掘你需要的数据,并且保存数据相应的格式。 网页请求( Reque
问题内容: 如何不使用来获取html源代码? 我需要知道这一点,因为在某些虚拟主机上已禁用,因此您不能使用。是否可以使用cURL获取html文件的源(如果启用了cURL支持)?如果是这样,怎么办?谢谢。 问题答案: 请尝试以下操作: 我只推荐小文件使用。大文件将作为一个整体读取,并且可能会产生内存错误。 编辑:在评论中进行了一些讨论之后,我们发现问题是服务器无法解析主机名,并且该页面另外是http
问题内容: 我一直在使用正则表达式在PHP中进行HTML抓取。这是可行的,但结果是挑剔和脆弱的。有没有人使用过提供更强大解决方案的软件包?配置驱动的解决方案将是理想的选择,但我并不挑剔。 问题答案: 从页面抓取HTML后,我将推荐PHP简单HTMLDOM解析器。它支持无效的HTML,并提供了一种非常简单的方法来处理HTML元素。
问题内容: 我正在考虑尝试BeautifulSoup,一个用于HTML抓取的Python包。还有其他我应该查看的HTML抓包工具吗?Python不是必需的,我实际上也对其他语言感兴趣。 到目前为止的故事: Python Beautiful Soup lxml HTQL Scrapy Mechanize Ruby Nokogiri Hpricot Mechanize scrAPI scRUBYt!
除了常见的公有代码仓库,我们还支持与企业的私有 GitLab 仓库对接,可外网访问的 GitLab 仓库和企业内部 GitLab 仓库。该功能为企业版功能,如您需要了解,请跟我们联系。 可外网访问的 GitLab 仓库 在这种情况下,企业的 GitLab 代码仓库是外网可访问的,用户需要指定 GitLab 地址、用户名和 Token 等信息。 企业内部 GitLab 仓库 在这种情况下,企业的 G