我想使用scrapy下载整个页面的内容。
使用硒,这很容易:
import os,sys
reload(sys)
sys.setdefaultencoding('utf8')
from selenium import webdriver
url = 'https://es.wikipedia.org/wiki/Python'
driver = webdriver.Firefox()
driver.get(url)
content = driver.page_source
with open('source','w') as output:
output.write(content)
但是,硒要比沙皮慢得多。
这是一种简单的方法吗?
我想将每个页面的代码保存在不同的文件文本中,而不是另存为csv或json文件。另外,如果在不创建项目的情况下也是可行的,那么对于这样一个简单的任务而言似乎有点过大。
代码将下载此页面并将其保存在文件中 download-a-full-page-with-scrapy.html
test_scr.py
import scrapy
class TestSpider(scrapy.Spider):
name = "test"
start_urls = [
"http://stackoverflow.com/questions/38233614/download-a-full-page-with-scrapy",
]
def parse(self, response):
filename = response.url.split("/")[-1] + '.html'
with open(filename, 'wb') as f:
f.write(response.body)
通过此命令运行
scrapy runspider test_scr.py
我最近用python和Selenium做了一个webscraper,我发现做起来非常简单。页面使用ajax调用加载数据,最初我等待一个固定的time_out加载页面。有一段时间奏效了。之后,我发现selenium有一个内置函数WebDriverWait,它可以使用wait.until()等待特定元素的加载。这使我的webscraper运行得更快。 问题是,我对结果还是不满意。我下载内容平均每页花了
问题内容: 我正在使用scrapy来获取数据,并且我想使用flask网络框架在网页中显示结果。但是我不知道如何在烧瓶应用程序中调用蜘蛛。我试图用它来称呼我的蜘蛛,但出现了这样的错误: 我这样的草率代码: 我的flask代码如下: 使用Flask Web框架时,如何称呼我的抓狂蜘蛛? 问题答案: 在你的Spider前面添加HTTP服务器并不是那么容易。有几种选择。 Python subprocess
当我尝试使用带有Scrapy的蜘蛛下载图像时,会出现以下错误。 就我所能理解的而言,我好像在某个地方的url中少了一个“h”?但我一辈子也看不出在哪里。如果我不想下载图片,一切都正常。但是一旦我将适当的代码添加到下面的四个文件中,我就无法使任何东西正常工作。谁能帮我弄明白这个错误吗? items.py 设置.py pipelines.py products.py(我的蜘蛛) 如有任何帮助,将不胜感
我用python scrapy编写了一个脚本,从一个网站下载一些图片。当我运行我的脚本时,我可以在控制台中看到图像的链接(它们都是格式)。然而,当我打开下载完成时应该保存图像的文件夹时,我什么也没有看到。我犯错的地方? 这是我的蜘蛛(我正在从Sublime文本编辑器运行): 这是我在中为要保存的图像定义的内容: 为了让事情更清楚: 我希望保存图像的文件夹名为,我已将其放在项目下的文件夹中。 文件夹
我正在应用程序中从firebase realtime下载数据。我们在splashscreen上下载这些数据。在下载此数据之前,splashscreen屏幕不应关闭。找不到如何执行此操作 这是我的密码;
我想下载一个网页的完整html,我已经写了一些代码来做到这一点。然而,当我回头看下载的html时,我发现只有大约一半的html存在。我认为这是因为网页是动态的,当你与网页交互时,会加载更多的信息。我一直在尝试使用PhantomJS与ChromeDriver Manager协调一致地执行此操作,但运气不佳。这是只下载部分html的代码(我再次相信,因为页面是动态的): 这是我对PhantomJS的尝