我花了很多时间来搜索这个.在一天结束时,我结合了一些答案,它的确有效.我分享了我的答案,如果有人编辑它或者为我们提供更简单的方法,我会很感激.
1- 在Selenium中禁用图像的答案Google ChromeDriver适用于Java.所以我们应该在Python中做同样的事情:
opt = webdriver.ChromeOptions()
opt.add_extension("Block-image_v1.1.crx")
browser = webdriver.Chrome(chrome_options=opt)
Run Code Online (Sandbox Code Playgroud)
2-但是下载"Block-image_v1.1.crx"有点棘手,因为没有直接的方法可以做到这一点.为此目的,而不是去:https://chrome.google.com/webstore/detail/block-image/pehaalcefcjfccdpbckoablngfkfgfgj
你可以去http://chrome-extension-downloader.com/ 并在那里粘贴扩展URL以便能够下载扩展文件.
3-然后,您将能够将上述代码与您下载的扩展文件的路径一起使用.
我正在使用Scrapy抓取网页.当您点击某个按钮时,我只需弹出一些我需要的信息(当然,点击后也会出现在HTML代码中).
我发现Scrapy可以处理的形式(如登录)如图所示这里.但问题是没有形式可以填写,所以这不是我需要的.
如何只需单击一个按钮,然后显示我需要的信息?
我是否必须使用像mechanize或lxml这样的外部库?
如何使用Scrapy来抓取返回JSON的Web请求?例如,JSON看起来像这样:
{
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
},
"phoneNumber": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我将寻找刮取特定项目(例如name,fax在上面)并保存到csv.
我正在练习'Web Scraping with Python'的代码,我一直有这个证书问题:
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
pages = set()
def getLinks(pageUrl):
global pages
html = urlopen("http://en.wikipedia.org"+pageUrl)
bsObj = BeautifulSoup(html)
for link in bsObj.findAll("a", href=re.compile("^(/wiki/)")):
if 'href' in link.attrs:
if link.attrs['href'] not in pages:
#We have encountered a new page
newPage = link.attrs['href']
print(newPage)
pages.add(newPage)
getLinks(newPage)
getLinks("")
Run Code Online (Sandbox Code Playgroud)
错误是:
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1319, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1049)>
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我也在练习scrapy,但一直都在解决问题:找不到命令:scrapy(我在网上尝试过各种解决方案,但都没有用......真的很令人沮丧)
我是一名正在构建GUI Web抓取应用程序的Python开发人员.最近我决定迁移到.NET框架并在C#中编写相同的应用程序(这个决定不是我的).
在Python中,我使用了Mechanize库.但是,我似乎无法在.NET中找到类似的东西.我需要的是一个以无头模式运行的浏览器,它能够填写表单,提交表单等.JavaScript解析器不是必须的,但它会非常有用.
免责声明:我在StackOverflow上看过很多其他类似的帖子,并尝试以同样的方式做到这一点,但他们似乎没有在这个网站上工作.
我正在使用Python-Scrapy从koovs.com获取数据.
但是,我无法获得动态生成的产品大小.具体来说,如果有人可以通过此链接的下拉菜单指导我获取"不可用"尺寸标签,我将不胜感激.
我能够静态获取大小列表,但这样做我只获得大小列表,但不能获得哪些大小.
我希望能够选择/突出显示页面上的元素并找到它的选择器,如下所示:
div.firstRow div.priceAvail> div> div.PriceCompare> div.BodyS
我知道你可以在做一个检查元素后看到底部的选择,但是如何将这个路径复制到剪贴板?在Firebug中,我认为你可以做到这一点,但是没有办法使用Chrome开发者工具做到这一点,并且搜索扩展程序没有开启任何东西.
这是我想要做的更多参考:http: //asciicasts.com/episodes/173-screen-scraping-with-scrapi
我正在阅读Selenium WebDriver的文档,例如它可以驱动Chrome.我在想,"驾驶"PhantomJS会不会更有效率?
有没有办法使用Selenium和PhantomJS?
我的预期用途是网页抓取:我抓的网站加载了AJAX和许多可爱的JavaScript,我认为这个设置可能是我正在使用的Scrapy Python框架的一个很好的替代品.
只是想知道是否有人知道利用Scala简洁语法的网络抓取库.到目前为止,我已经找到了Chafe,但这看起来很难记录和维护.我想知道是否有人在那里使用Scala进行刮擦并提出建议.(我正在尝试集成到现有的Scala框架中,而不是使用Python中编写的scraper.)
我正在尝试使用python的请求框架(http://docs.python-requests.org/en/latest/),但我试图访问的页面使用javascript来获取我想要的信息.
我试图在网上搜索一个解决方案,但事实上我正在搜索关键字javascript,我得到的大部分内容是如何使用javascript语言.
无论如何使用请求框架与使用javascript的页面?
web-scraping ×10
python ×6
scrapy ×4
selenium ×2
web-crawler ×2
.net ×1
automation ×1
browser ×1
c# ×1
json ×1
libraries ×1
phantomjs ×1
scala ×1
webdriver ×1