标签: web-scraping

解析外部网站表

有一个日历:http : //www.friendsbalt.org/upper/stulife/calendar.asp一个静态表形式的,我想让服务器抓取并逐行解析表。这可能吗?您将如何以最有效的方式做到这一点?代码示例会很棒。

html php parsing dom web-scraping

0
推荐指数
1
解决办法
2065
查看次数

Perl 网页抓取

我是 Perl 初学者,我对使用 Perl 进行网页抓取充满热情。花了几个小时后,我编写了下面的代码,用于从yell.com. 该脚本运行良好,我成功收集了一条记录(第 1 页的 1/15)。

我需要你的宝贵建议,关于如何一次性抓取第一页中的所有十家公司,以便我可以转移到其他页面的数据。

use strict;

use Data::Dumper;
use LWP::Simple; # from CPAN
use JSON qw( decode_json ); # from CPAN

use WWW::Mechanize;

my $mech = WWW::Mechanize->new();

my $header = "company_name|Address|Telphone";

open (CH, ">output.csv");

print CH "$header\n";

my $url = "http://www.yell.com/ucs/UcsSearchAction.do?keywords=Engineering+consulatants&location=United+Kingdom&scrambleSeed=13724563&searchType=&M=&bandedclarifyResults=&ssm=1";

$mech->get($url);
my $con = $mech->content();
my $res = "";

############ for company name ##########
if ( $con =~ /<a data-omniture="LIST:COMPANYNAME" href="\/biz\/ross-davy-associates-grimsby-901271213\/" itemprop="name">(.*?)<\/a>/is ) {
  $res = $1;
}
else {
  $res …
Run Code Online (Sandbox Code Playgroud)

perl www-mechanize web-scraping

0
推荐指数
1
解决办法
3444
查看次数

Selenium - Python 绑定 - 检测新的 AJAX 数据

作为一名初级程序员,我在这个网站上找到了很多有用的信息,但找不到我的具体问题的答案。我想从网页中抓取数据,但是我有兴趣抓取的一些数据只能在单击“更多”按钮后才能获得。下面的代码执行时不会产生错误,但它似乎没有单击“更多”按钮并在页面上显示附加数据。我只对查看“成绩单”选项卡上的信息感兴趣,这对我来说似乎有点复杂,因为其他选项卡上有“更多”按钮。我的代码的相关部分如下:

from mechanize import Browser
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver import ActionChains
import urllib2
import mechanize
import logging
import time
import httplib
import os
import selenium

url="http://seekingalpha.com/symbol/IBM/transcripts"
ua='Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0 (compatible;)'

br=Browser()
br.addheaders=[('User-Agent', ua), ('Accept', '*/*')]
br.set_debug_http(True)
br.set_debug_responses(True)
logging.getLogger('mechanize').setLevel(logging.DEBUG)
br.set_handle_robots(False)

chromedriver="~/chromedriver"
os.environ["webdriver.chrome.driver"]=chromedriver
driver=webdriver.Chrome(chromedriver)

time.sleep(1)
httplib.HTTPConnection._http_vsn=10
httplib.HTTPConnection._http_vsn_str='HTTP/1.0'
page=br.open(url)
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(5)
actions=ActionChains(driver)
elem=driver.find_element_by_css_selector("div #transcripts_show_more div#more.older_archives")
actions.move_to_element(elem).click()
Run Code Online (Sandbox Code Playgroud)

python click web-scraping selenium-webdriver

0
推荐指数
1
解决办法
1083
查看次数

DOMDocument PHP 网页抓取

我想知道是否有任何方法可以使用 dom 来选择具有动态标签的元素。所有的标签都以 link_(some id) 开头。

例子:

<tr id="link_111111">something in here...</tr>

<tr id="link_222222">something in here...</tr>

<tr id="link_333333">something in here...</tr>

<tr id="link_444444">something in here...</tr>

<tr id="link_555555">something in here...</tr>
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以通过 link_ 获取所有具有 id 的 tr,因为我没有特定的 id,它们是随机的。

php domdocument web-scraping

0
推荐指数
1
解决办法
772
查看次数

当从文件打开链接时,美丽的汤无法从页面中提取HTML

我在文件中有一些网页链接article_links.txt,我想逐个打开,提取文本,然后打印出来.我的代码是:

import requests
from inscriptis import get_text
from bs4 import BeautifulSoup

links = open(r'C:\Users\h473\Documents\Crawling\article_links.txt', "r")

for a in links:
    print(a)
    page = requests.get(a)
    soup = BeautifulSoup(page.text, 'lxml')
    html = soup.find(class_='article-wrap')
    if html==None:
        html = soup.find(class_='mag-article-wrap')

    text = get_text(html.text)

    print(text)
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误说, ---> text = get_text(html.text)

AttributeError: 'NoneType' object has no attribute 'text'

所以,当我打印出soup变量以查看ts内容是什么时.这是我为每个链接找到的内容:

http://www3.asiainsurancereview.com//Mock-News-Article/id/42945/Type/eDaily/New-Zealand-Govt-starts-public-consultation-phase-of-review-of-insurance-law

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><title>Bad Request</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/></head>
<body><h2>Bad Request - Invalid URL</h2>
<hr/><p>HTTP Error 400. The request …
Run Code Online (Sandbox Code Playgroud)

html python beautifulsoup web-crawler web-scraping

0
推荐指数
1
解决办法
199
查看次数

Puppeteer querySelector返回null

我试图用puppeteer废弃一些数据,但对于一些网站querySelector返回null,我不知道有什么问题.我在stackoverflow中找到了关于这个问题的一些答案,但没有一个有效.这是带有示例链接的代码不起作用.

const puppeteer = require('puppeteer');

(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();

    await page.goto('https://www.macys.com/shop/product/the-north-face-mens- 
    logo-half-dome-t-shirt?ID=2085687&CategoryID=30423&cm_kws=2085687');

    const textContent = await page.evaluate(() => {
    return document.querySelector('.price');
});

console.log(textContent); 

browser.close();
})();
Run Code Online (Sandbox Code Playgroud)

jquery-selectors node.js web-scraping puppeteer

0
推荐指数
2
解决办法
5587
查看次数

无法使用BeautifulSoup查找特定的类组件

我正试图为影院网站制作一个刮刀,以收集电影名称列表.我试图使用BeautifulSoup来解析HTML文件,我看到每部电影都在一个名为的类中"movie-row".但是select在此类上使用该方法并未检索该站点的相应数据.我能够获得的HTML最接近的组件是父类.quickbook-section.

为什么有些HTML标签可以使用BS而其他不可用?

这是我写的代码.

def get_movies_names():
    url = "https://www.yesplanet.co.il/#/buy-tickets-by-cinema?in-cinema=1025&at=2018-11-09&view-mode=list"
    raw_html = util.simple_get(url)
    bs = BeautifulSoup(raw_html, 'html.parser')
    bs.select(".movie-row")
Run Code Online (Sandbox Code Playgroud)

(simple_get只是一个返回HTML响应内容的函数)

python beautifulsoup web-scraping

0
推荐指数
1
解决办法
129
查看次数

网页搜集-麦肯锡文章

我正在寻找文章标题。我不知道如何提取标题文本。您能否看下面我的代码并提出解决方案。

我是新手。感谢您的帮助!

网页的Web开发人员视图的屏幕快照 https://imgur.com/a/O1lLquY

import scrapy



class BrickSetSpider(scrapy.Spider):
    name = "brickset_spider"
    start_urls = ['https://www.mckinsey.com/search?q=Agile&start=1']

    def parse(self, response):
        for quote in response.css('div.text-wrapper'):
            item = {
                'text': quote.css('h3.headline::text').extract(),
            }
            print(item)
            yield item
Run Code Online (Sandbox Code Playgroud)

python scrapy web-scraping web

0
推荐指数
1
解决办法
137
查看次数

ScrapyDeprecationWarning:模块`scrapy.conf`已弃用,请改用`crawler.settings`属性

我正在使用scrapy 1.5并且我正在以编程方式尝试通过python脚本运行scrapy爬虫程序.作为其中的一部分,我需要导入爬虫设置并覆盖其一些参数.

我发现这个import语句可以满足我的需求:

from scrapy.conf import settings
Run Code Online (Sandbox Code Playgroud)

问题是,这有效,但也会产生以下弃用警告:

ScrapyDeprecationWarning: Module `scrapy.conf` is deprecated, use `crawler.settings` attribute instead
Run Code Online (Sandbox Code Playgroud)

所以我猜这是一些旧版本.警告之后,我试图访问scrapy.crawler.settings,但这不存在(或者,经过一些搜索我找不到它).

我该如何解决此警告?

python scrapy web-scraping python-3.x

0
推荐指数
1
解决办法
632
查看次数

WebDriver无法在Python上运行

我正在一个Web抓取项目中,我必须抓取一些LinkedIn信息,因此我在Python中使用Selenium,我已经在Python中安装了Selenium,但是现在我尝试使用Selenium驱动程序来控制Chrome,但显示错误上面写着“模块不可调用”。

我不知道该如何解决。请帮忙。

我的代码是:

from selenium import webdriver
driver=webdriver.chrome("/Users/Intel/Desktop/chromedriver")

from selenium import webdriver
driver=webdriver.chrome("/Users/Intel/Desktop/chromedriver")
Run Code Online (Sandbox Code Playgroud)

当我尝试执行时:

driver=webdriver.chrome("/Users/Intel/Desktop/chromedriver")
Run Code Online (Sandbox Code Playgroud)

错误显示为:

“模块”对象不可调用

python selenium webdriver web-scraping selenium-chromedriver

0
推荐指数
1
解决办法
61
查看次数