我最近一直在使用 ruby 中的 Mechanize gem 编写一个刮刀。不幸的是,我试图抓取的 URL在请求时返回一个Mechanize::File对象而不是一个Mechanize::Page对象GET。
我不明白为什么。我尝试过的每个其他 URL 都返回了一个Mechanize::Page对象。
有没有办法强制 Mechanize 返回一个Page对象?
我正在尝试使用Scrapy登录到init中的网站然后在确认登录后我想初始化并通过start_urls启动标准爬行.我不知道出了什么问题,但我清楚登录并且每件事都确认,但parse_item永远不会启动.任何帮助将不胜感激.
我可以把它弄到"================成功登录================="
但
我无法进入"========================== PARSE ITEM ================ =========="
from scrapy.contrib.spiders.init import InitSpider
from scrapy.http import Request, FormRequest
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.contrib.spiders import Rule
from selenium import webdriver
class ProductDetailsSpider(InitSpider):
name = 'product_details_spider'
allowed_domains = ['my_domain.com']
login_page = 'http://www.my_domain.com/'
start_urls = ['http://www.my_domain.com/nextpage1/',
'http://www.my_domain.com/nextpage2/',
'http://www.my_domain.com/nextpage3/']
rules = (
Rule(SgmlLinkExtractor(allow=()),
callback='parse_item',
follow=True),
)
def get_cookies(self):
driver = webdriver.Firefox()
driver.implicitly_wait(30)
base_url = "http://www.my_domain.com"
driver.get(base_url + "/")
driver.find_element_by_name("USR").clear()
driver.find_element_by_name("USR").send_keys("my_user")
driver.find_element_by_name("PASSWRD").clear()
driver.find_element_by_name("PASSWRD").send_keys("my_pass")
driver.find_element_by_name("submit").click()
cookies = driver.get_cookies()
driver.close()
cookie_dic = {}
for c in cookies: …Run Code Online (Sandbox Code Playgroud) 我有100个网站在不同的位置暴露RSS源.这些位置有几个指向不同Feed的RSS提要链接.它几乎与BBC Rss供稿页面 http://www.bbc.com/news/10628494相同
站点1:domain1.com/rss站点2:domain2.com/enviroments/rss
有没有办法提取出每个feed xml的rss链接.
类似于这个 自动提取来自网页的提要链接(原子,rss等),但我想只提供该网站.这样我就可以获得特定网站的所有可能的RSS源.
我想要列出100个网站的所有RSS源.那么我就可以在仪表板上监控它们.哦饲料aee混合bith原子和rss.
我做了什么.我查看了apache nutch和parse-feed插件.Scrapy是下一个选择,但我仍然不确定这是我在寻找什么.
我现在一直在盯着这一小时,我正在撒谎.
我试图从网页上抓取一些数据.这是我正在尝试提取的一些数据的片段:
<span itemprop="thumbnail" itemscope itemtype="http://schema.org/ImageObject">
<link itemprop="url" href="http://blahblah.org/video/thumbnail_23432230.jpg">
<meta itemprop="width" content="1280">
<meta itemprop="height" content="720">
</span>
Run Code Online (Sandbox Code Playgroud)
我想通过Web :: Scraper模块从标签中获取href属性的值.这是相关的perl代码:
my $div = scraper {
process 'span[itemprop="thumbnail"] > link', url => '@href';
};
my $res = $div->scrape( $html );
$url = $res->{url};
Run Code Online (Sandbox Code Playgroud)
无论我尝试什么,$ url都会返回undefined.我正在使用Web :: Scraper模块的.36版本.
我尝试使用 praw.reddit 命令抓取 Reddit,但我不断收到以下信息:
prawcore.exceptions.OAuthException: unauthorized_client error processing
request (Only script apps may use password auth)
Run Code Online (Sandbox Code Playgroud)
这是我的代码的顶部:(我删除了敏感项目)
import praw
import pandas as pd
import datetime as dt
reddit = praw.Reddit(client_id='zlpcoz08aNK8Bw', \
client_secret='', \
user_agent='comment_scraper 1.0 by /u/bullybear77777',
\
username='', \
password='')
Run Code Online (Sandbox Code Playgroud)
我认为这是因为我的 user_agent ID?我在网上查了一下,发现这似乎是结构,但我不确定。如有任何帮助,我们将不胜感激
我必须做一个废弃大约100个URL的Scraper,Scraper必须在CronJob调用的PHP CLI中运行.我完全迷失了如何管理这个...对于我想要创建一个新文件的每个URL,只是为了在必须更新特定URL的代码时弄清楚.
这可能是个不错的选择吗?然后,可以从一个CronJob调用所有这些文件?
通常,我希望输入一个URL,然后将该URL的图像导入数据库.
这里有一些代码让我很接近,但欢迎使用替代品.
如果我尝试将$ image作为BLOB存储到数据库中,则会出现错误.
<?php
class wSpider
{
var $ch; /// going to used to hold our cURL instance
var $html; /// used to hold resultant html data
var $binary; /// used for binary transfers
var $url; /// used to hold the url to be downloaded
function wSpider()
{
$this->html = "http:/";
$this->binary = 0;
$this->url = "";
}
function fetchPage($url)
{
$this->url = $url;
if (isset($this->url)) {
$this->ch = curl_init(); /// open a cURL instance
curl_setopt ($this->ch, CURLOPT_RETURNTRANSFER, 1); …Run Code Online (Sandbox Code Playgroud) 因此,我对使用 XPath 还比较陌生,而且我在磨练我需要用于我的特定应用程序的确切语法方面遇到了一些困难。我构建的刮板工作得非常好(当我使用不太复杂的路径时,它可以工作)。一旦我尝试更具体地了解我的路径,它就不会返回正确的值。
我试图操纵的文档结构的简化模型是
<table class="rightLinks">
<tbody>
<tr>
<td>
<a href="http://wwww.example.com">Text That I want to Grab</a>
</td>
<td>Some</td>
<td>Text</td>
</tr>
<tr>
<td>
<a href="http://wwww.example2.com">Text That I want to Grab</a>
</td>
<td>Some</td>
<td>Text</td>
</tr>
<tr>
<td>
<a href="http://wwww.example3.com">Text That I want to Grab</a>
</td>
<td>Some</td>
<td>Text</td>
</tr>
<tr>
<td>
<a href="http://wwww.example4.com">Text That I want to Grab</a>
</td>
<td>Some</td>
<td>Text</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
基本上,我想获取 href 值和带有链接的文本。
这是我的刮板关于这个以及我迄今为止尝试过的部分:
import scrapy
from scrapy.selector import HtmlXPathSelector
from scrapy.http import HtmlResponse
def parse(self, response):
for sel …Run Code Online (Sandbox Code Playgroud)