我正在使用Selenium RC自动执行某些浏览器操作,但我希望浏览器不可见.这可能吗?怎么样?那么Selenium Grid呢?我也可以隐藏Selenium RC窗口吗?
免责声明:我在StackOverflow上看过很多其他类似的帖子,并尝试以同样的方式做到这一点,但他们似乎没有在这个网站上工作.
我正在使用Python-Scrapy从koovs.com获取数据.
但是,我无法获得动态生成的产品大小.具体来说,如果有人可以通过此链接的下拉菜单指导我获取"不可用"尺寸标签,我将不胜感激.
我能够静态获取大小列表,但这样做我只获得大小列表,但不能获得哪些大小.
我有我要转换为HTML scrapy响应对象,这样我就可以使用选择一个原始的HTML串css并xpath,类似scrapy的response.我该怎么做?
我的问题是如何做与前一个问题相同的事情,但在Scrapy 0.14中.
基本上,我有GUI,它采用域,关键字,标签名称等参数,我想创建一个通用的蜘蛛来抓取那些域中的那些关键字.我通过覆盖蜘蛛管理器类或动态创建蜘蛛来阅读使用旧版scrapy的冲突内容.首选哪种方法,如何实施和调用正确的解决方案?提前致谢.
这是我想要通用的代码.它还使用BeautifulSoup.我把它配对了所以希望没有删除任何关键的理解它.
class MySpider(CrawlSpider):
name = 'MySpider'
allowed_domains = ['somedomain.com', 'sub.somedomain.com']
start_urls = ['http://www.somedomain.com']
rules = (
Rule(SgmlLinkExtractor(allow=('/pages/', ), deny=('', ))),
Rule(SgmlLinkExtractor(allow=('/2012/03/')), callback='parse_item'),
)
def parse_item(self, response):
contentTags = []
soup = BeautifulSoup(response.body)
contentTags = soup.findAll('p', itemprop="myProp")
for contentTag in contentTags:
matchedResult = re.search('Keyword1|Keyword2', contentTag.text)
if matchedResult:
print('URL Found: ' + response.url)
pass
Run Code Online (Sandbox Code Playgroud) 我正在使用scrapy框架废弃网站,并且无法点击javascript链接以打开另一个页面.
我可以将页面上的代码识别为:
<a class="Page" alt="Click to view job description" title="Click to view job description" href="javascript:sysSubmitForm('frmSR1');">Accountant </a>
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议我如何在scaroy中执行该javascript并通过我可以从该页面获取数据来获取另一页.
提前致谢
我正在学习Python,并试图在下拉菜单中抓取此页面以获取特定值.之后,我需要单击结果表上的每个项目以检索特定信息.我能够选择项目并检索webdriver上的信息.但我不知道如何将响应URL传递给crawlspider.
driver = webdriver.Firefox()
driver.get('http://www.cppcc.gov.cn/CMS/icms/project1/cppcc/wylibary/wjWeiYuanList.jsp')
more_btn = WebDriverWait(driver, 20).until(
EC.visibility_of_element_located((By.ID, '_button_select'))
)
more_btn.click()
## select specific value from the dropdown
driver.find_element_by_css_selector("select#tabJcwyxt_jiebie > option[value='teyaoxgrs']").click()
driver.find_element_by_css_selector("select#tabJcwyxt_jieci > option[value='d11jie']").click()
search2 = driver.find_element_by_class_name('input_a2')
search2.click()
time.sleep(5)
## convert html to "nice format"
text_html=driver.page_source.encode('utf-8')
html_str=str(text_html)
## this is a hack that initiates a "TextResponse" object (taken from the Scrapy module)
resp_for_scrapy=TextResponse('none',200,{},html_str,[],None)
## convert html to "nice format"
text_html=driver.page_source.encode('utf-8')
html_str=str(text_html)
resp_for_scrapy=TextResponse('none',200,{},html_str,[],None)
Run Code Online (Sandbox Code Playgroud)
所以这就是我被困住的地方.我能够使用上面的代码进行查询.但是如何将resp_for_scrapy传递给crawlspider?我把resp_for_scrapy替换为项目但是没有用.
## spider
class ProfileSpider(CrawlSpider):
name …Run Code Online (Sandbox Code Playgroud) 我正在开展一个项目,我需要抓取几个网站并从中收集不同类型的信息.文本,链接,图像等信息
我正在使用Python.我在HTML页面上为此目的尝试了BeautifulSoup并且它可以工作,但是在解析包含大量JavaScript的网站时我很困难,因为这些文件的大部分信息都存储在<script>标记中.
任何想法如何做到这一点?
说我希望在这个页面上刮取产品(http://shop.coles.com.au/online/national/bread-bakery/fresh/bread#pageNumber=2¤tPageSize=20)
但是产品是从post请求中加载的.这里很多帖子建议模拟一个请求得到动态的内容,但在我的情况下,Form Data对我来说是未知的,即catalogId,categoryId.
我想知道response在ajax呼叫结束后有可能得到它吗?
我正在尝试使用 Scrapy 登录网站,但收到的响应是仅包含内联 JavaScript 的 HTML 文档。JS 重定向到我想从中抓取数据的页面。但是 Scrapy 不执行 JS,因此不会路由到我想要的页面。
我使用以下代码提交所需的登录表单:
def parse(self, response):
request_id = response.css('input[name="request_id"]::attr(value)').extract_first()
data = {
'userid_placeholder': self.login_user,
'foilautofill': '',
'password': self.login_pass,
'request_id': request_id,
'username': self.login_user[1:]
}
yield scrapy.FormRequest(url='https://www1.up.ac.za/oam/server/auth_cred_submit', formdata=data,
callback=self.print_p)
Run Code Online (Sandbox Code Playgroud)
print_p 回调函数如下:
def print_p(self, response):
print(response.text)
Run Code Online (Sandbox Code Playgroud)
我看过scrapy-splash,但找不到在响应中使用scrapy-splash执行JS的方法。
我的目的是在这个网页上运行scrapy爬虫:http://visit.rio/en/o-que-fazer/outdoors/ .但是,id ="container"上有一些资源只能通过JavaScript按钮("VER MAIS")加载.我读过一些关于硒的东西,但我什么都没有.
python ×12
scrapy ×10
web-scraping ×5
javascript ×4
selenium ×4
web-crawler ×4
parsing ×1
selenium-rc ×1