我正在尝试抓取保存在本地文件系统(Windows 10 OS)中的HTML文件。
当我使用以下格式提供文件路径时
start_urls = ['file:///path/to/file/file_name.htm']
我收到错误
[scrapy.core.scraper]错误:下载
时出错 FileNotFoundError:[错误2]没有这样的文件或目录:'\ path \ to \ file \ file_name.htm'
当我使用以下格式提供文件路径时
start_urls = ['path/to/file/file_name.htm']
我得到了错误
[scrapy.core.engine]错误:获取启动请求时出错
引发ValueError('请求URL中缺少方案:%s'%self._url)
如何读取本地HTML文件并将其抓取到Windows OS中?
答案 0 :(得分:2)
我认为在这种情况下使用start_urls
是错误的。也许您可以尝试读取文件中的数据,然后对其应用Selector
?
检查此示例:
>>> from scrapy import Selector
>>> f = open('example.html')
>>> sel = Selector(text=f.read())
>>> sel.css('head title::text').get()
Example title
如果需要,可以将带有文件读取功能的块放在函数start_requests
中。
答案 1 :(得分:0)
您可以通过这种方式编写代码以刮取保存在本地系统中的自己文件
from bs4 import BeautifulSoup
import html5lib
myFile=open('C:/Users/CSE/AppData/Local/atom/app-1.42.0/practise.html','r')
soup=BeautifulSoup(myFile,"html5lib")
print(soup.prettify())
在内部打开函数中,第一个参数是您的file_path(尽管我在这里给出了自己的路径),第二个参数是您想要的模式。