使用BeautifulSoup遍历URL列表进行Web抓取

凯莉·蜂鸟

我想从网址中提取一些信息,其网址格式为:http : //www.pedigreequery.com/american+pharoah其中“ american + pharoah”是许多马名之一的扩展名。我有一个要搜索的马名列表,我只需要弄清楚如何在“ http://www.pedigreequery.com/后面插入马名。

这是我目前拥有的:

import csv
allhorses = csv.reader(open('HORSES.csv') )
rows=list(allhorses)

import requests 
from bs4 import BeautifulSoup
for i in rows:      # Number of pages plus one 
    url = "http://www.pedigreequery.com/".format(i)
    r = requests.get(url)
    soup = BeautifulSoup(r.content)
    letters = soup.find_all("a", class_="horseName")
    print(letters)

当我打印出URL时,它的末尾没有马的名字,只有加引号的URL。最后的信件/印刷声明只是为了检查它是否真的要进入网站。这就是我看到的方法,它可以循环循环最终由数字更改的URL-我没有找到有关随字符更改的URL的建议。

谢谢!

帕德拉克·坎宁安

您缺少格式中的占位符,因此将格式扫描到:

url = "http://www.pedigreequery.com/{}".format(i)
                                     ^
                                   #add placeholder

另外,您充其量可以从中获得列表列表,rows=list(allhorses)因此您将传递的列表不是字符串/马名,如果每行都有一匹马,只需正常打开文件,然后遍历文件对象即可删除换行符。

假设每行一个马名,则整个工作代码为:

import requests
from bs4 import BeautifulSoup

with open("HORSES.csv") as f:
    for horse in map(str.strip,f):      # Number of pages plus one
        url = "http://www.pedigreequery.com/{}".format(horse)
        r = requests.get(url)
        soup = BeautifulSoup(r.content)
        letters = soup.find_all("a", class_="horseName")
        print(letters)

如果每行有多匹马,则可以使用csv lib,但是需要一个内部循环:

with open("HORSES.csv") as f:
    for row in csv.reader(f):   
        # Number of pages plus one
        for horse in row:
            url = "http://www.pedigreequery.com/{}".format(horse)
            r = requests.get(url)
            soup = BeautifulSoup(r.content)
            letters = soup.find_all("a", class_="horseName")
            print(letters)

最后,如果您没有正确存储名称,则可以使用一些选项,其中最简单的方法是拆分并手动创建查询。

  url = "http://www.pedigreequery.com/{}".format("+".join(horse.split()))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Wikipedia上使用BeautifulSoup进行Web抓取

来自分类Dev

使用Python,BeautifulSoup进行Web抓取

来自分类Dev

使用BeautifulSoup到Dataframe进行Web抓取

来自分类Dev

使用BeautifulSoup进行Web抓取-无法提取表行

来自分类Dev

使用Beautifulsoup和Python进行Web抓取不起作用

来自分类Dev

使用BeautifulSoup和RegEx或Lambda遍历URL以进行匹配?

来自分类Dev

使用Python和beautifulsoup进行Web抓取:BeautifulSoup函数可以保存什么?

来自分类Dev

使用python和BeautifulSoup进行网络抓取

来自分类Dev

使用 BeautifulSoup FindAll 进行网页抓取

来自分类Dev

如何使用 BeautifulSoup 进行网页抓取

来自分类Dev

使用 BeautifulSoup 进行网页抓取 -- Python

来自分类Dev

使用 Python BeautifulSoup 进行网页抓取

来自分类Dev

Python - 使用 BeautifulSoup 和 Urllib 进行抓取

来自分类Dev

使用BeautifulSoup进行Python网络抓取,循环并跳过某些URL值

来自分类Dev

Web使用BeautifulSoup抓取多个页面

来自分类Dev

使用BeautifulSoup遍历列表并创建XML标签

来自分类Dev

使用BeautifulSoup遍历列表并创建XML标签

来自分类Dev

使用WorkerPool遍历URL列表

来自分类Dev

Beautifulsoup的Web抓取问题

来自分类Dev

使用BeautifulSoup遍历并检索特定的URL

来自分类Dev

使用BeautifulSoup使用python进行网络抓取,发现错误

来自分类Dev

使用R在imdb中进行Web抓取

来自分类Dev

Python-使用Scrapy进行Web抓取

来自分类Dev

使用Node.js进行Web抓取

来自分类Dev

使用R在imdb中进行Web抓取

来自分类Dev

使用xpathSApply在R中进行Web抓取

来自分类Dev

使用R和RVest进行Web抓取

来自分类Dev

使用Web :: Scraper从.onion网站进行抓取

来自分类Dev

使用ThreadPoolExecutor进行错误的Web抓取

Related 相关文章

热门标签

归档