标签: web-scraping

如何以编程方式登录到screenscape的网站?

我需要来自不属于我的网站的一些信息,以获取我需要登录网站收集信息的这些信息,这通过HTML表单进行.如何在C#中进行经过身份验证的屏幕截图?

额外的信息:

  • 基于Cookie的身份验证
  • 需要POST动作.

c# forms login web-scraping

22
推荐指数
2
解决办法
4万
查看次数

使用BeautifulSoup获取第n个元素

从一张大桌子我想阅读第5,10,15,20行....使用BeautifulSoup.我该怎么做呢?findNextSibling和递增计数器的方法是什么?

python beautifulsoup web-scraping

22
推荐指数
2
解决办法
2万
查看次数

ScrapyRT vs Scrapyd

到目前为止,我们一直在使用Scrapyd服务.它为scrapy项目提供了一个很好的包装器,它的蜘蛛可以通过HTTP API来控制蜘蛛:

Scrapyd是一种运行Scrapy蜘蛛的服务.

它允许您使用HTTP JSON API部署Scrapy项目并控制其蜘蛛.

但是,最近,我注意到另一个"新鲜"的包 - ScrapyRT根据项目描述,听起来非常有前途,类似于Scrapyd:

HTTP服务器,提供用于调度Scrapy蜘蛛并使用蜘蛛发出请求的API.

这个包是否可以替代Scrapyd?如果是的话,这两者有什么区别?

python scrapy web-scraping scrapyd

22
推荐指数
1
解决办法
2773
查看次数

来自json的脚本输出的scrapy

scrapy在python脚本中运行

def setup_crawler(domain):
    dispatcher.connect(stop_reactor, signal=signals.spider_closed)
    spider = ArgosSpider(domain=domain)
    settings = get_project_settings()
    crawler = Crawler(settings)
    crawler.configure()
    crawler.crawl(spider)
    crawler.start()
    reactor.run()
Run Code Online (Sandbox Code Playgroud)

它成功运行并停止但结果在哪里?我希望结果采用json格式,我该怎么做?

result = responseInJSON
Run Code Online (Sandbox Code Playgroud)

就像我们使用命令一样

scrapy crawl argos -o result.json -t json
Run Code Online (Sandbox Code Playgroud)

python json scrapy web-scraping scrapy-spider

21
推荐指数
3
解决办法
2万
查看次数

使用lxml和request进行HTML抓取会产生unicode错误

我正在尝试像这里提供的那样使用HTML scraper .它适用于他们提供的示例.但是,当我尝试在我的网页上使用它时,我收到此错误 - Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration. 我尝试使用Google搜索但无法找到解决方案.我真的很感激任何帮助.我想知道是否有办法使用Python将其复制为HTML.

编辑:

from lxml import html
import requests
page = requests.get('http://cancer.sanger.ac.uk/cosmic/gene/analysis?ln=PTEN&ln1=PTEN&start=130&end=140&coords=bp%3AAA&sn=&ss=&hn=&sh=&id=15#')
tree = html.fromstring(page.text)
Run Code Online (Sandbox Code Playgroud)

谢谢.

html python unicode lxml web-scraping

21
推荐指数
1
解决办法
7965
查看次数

可以用pyspider取代Scrapy吗?

我一直在广泛使用Scrapy网络抓取框架,但是,最近我发现有另一个框架/系统被调用pyspider,根据它的github页面,它是新鲜的,积极开发和流行的.

pyspider的主页列出了支持开箱即用的几件事:

  • 功能强大的WebUI,包括脚本编辑器,任务监视器,项目管理器和结果查看器

  • 支持Javascript页面!

  • 任务优先级,重试,定期和按索引页面中的年龄或标记重新抓取(如更新时间)

  • 分布式架构

这些是Scrapy本身没有提供的东西,但是,可以借助portia(对于Web UI),scrapyjs(对于js页面)和scrapyd(通过API部署和分发).

是否真的可以pyspider单独替换所有这些工具?换句话说,是pyspiderScrapy的直接替代品吗?如果没有,那么它涵盖哪些用例?

我希望我不会越过"过于宽泛"或"基于意见"的界限.

python web-crawler scrapy web-scraping pyspider

21
推荐指数
2
解决办法
6722
查看次数

scrapy:将html字符串转换为HtmlResponse对象

我有我要转换为HTML scrapy响应对象,这样我就可以使用选择一个原始的HTML串cssxpath,类似scrapy的response.我该怎么做?

python scrapy web-scraping

21
推荐指数
2
解决办法
8480
查看次数

R:rvest:抓取动态电子商务页面

rvest在R中用来做一些刮擦.我知道一些HTML和CSS.

我想获得URI的每个产品的价格:

http://www.linio.com.co/tecnologia/celulares-telefonia-gps/

当您在页面上下载时,新项目会加载(当您进行一些滚动时).

到目前为止我做了什么:

Linio_Celulares <- html("http://www.linio.com.co/celulares-telefonia-gps/")

Linio_Celulares %>%
  html_nodes(".product-itm-price-new") %>%
  html_text()
Run Code Online (Sandbox Code Playgroud)

我得到了我需要的东西,但仅仅是25个第一个元素(默认加载).

 [1] "$ 1.999.900" "$ 1.999.900" "$ 1.999.900" "$ 2.299.900" "$ 2.279.900"
 [6] "$ 2.279.900" "$ 1.159.900" "$ 1.749.900" "$ 1.879.900" "$ 189.900"  
[11] "$ 2.299.900" "$ 2.499.900" "$ 2.499.900" "$ 2.799.000" "$ 529.900"  
[16] "$ 2.699.900" "$ 2.149.900" "$ 189.900"   "$ 2.549.900" "$ 1.395.900"
[21] "$ 249.900"   "$ 41.900"    "$ 319.900"   "$ 149.900" 
Run Code Online (Sandbox Code Playgroud)

问题:如何获取此动态部分的所有元素?

我想,我可以滚动页面,直到所有元素都被加载,然后使用html(URL).但这似乎很多工作(我计划在不同的部分这样做).应该有一个程序化的工作.

任何暗示都是受欢迎的!

r web-scraping infinite-scroll rvest

21
推荐指数
1
解决办法
9494
查看次数

在python中使用selenium获取所有href链接

我在python中练习selenium,我想使用selenium获取网页上的所有链接.

例如,我想要来自这个网站的'a href'标签中的所有链接:http://psychoticelites.com/

我写了一个脚本,它正在运行.但是,它给了我对象地址.我尝试使用'id'标记来获取值,但是,它不起作用.

我目前的剧本: -

from selenium import webdriver
from selenium.webdriver.common.keys import Keys


driver = webdriver.Firefox()
driver.get("http://psychoticelites.com/")

assert "Psychotic" in driver.title

continue_link = driver.find_element_by_tag_name('a')
elem = driver.find_elements_by_xpath("//*[@href]")
#x = str(continue_link)
#print(continue_link)
print(elem)
Run Code Online (Sandbox Code Playgroud)

任何类型的线索/提示将不胜感激.

python selenium web-scraping selenium-webdriver

21
推荐指数
3
解决办法
4万
查看次数

如何从作者列表中检索/计算引文计数和/或引文索引?

我有一份作者名单.我希望自动检索/计算每位作者的(理想年度)引文索引(h-index,m-quotient,g-index,HCP indicator或...).

Author Year Index
first  2000   1
first  2001   2
first  2002   3
Run Code Online (Sandbox Code Playgroud)

考虑到每位研究人员每篇论文的引用次数,我可以计算所有这些指标.

Author Paper Year Citation_count
first    1    2000   1
first    2    2000   2
first    3    2002   3
Run Code Online (Sandbox Code Playgroud)

尽管我付出了努力,但我还没有找到能够满足这一要求的API /抓取方法.

我的机构可以使用包括Web of Science在内的多种服务.

api r citations web-scraping

20
推荐指数
1
解决办法
2501
查看次数