使用 Beautifulsoup 和 Python 从 CSV 中抓取多个 URL

Posted

技术标签:

【中文标题】使用 Beautifulsoup 和 Python 从 CSV 中抓取多个 URL【英文标题】:Scrape Multiple URLs from CSV using Beautiful Soup & Python 【发布时间】:2018-04-15 01:41:51 【问题描述】:

我需要抓取存储在 CSV 文件中的 URL 列表。

我对美丽汤很陌生

【问题讨论】:

请向我们展示您的尝试:) 您可能找不到您的代码的确切解决方案。但是,存在许多用于读取 CSV、发出 HTTP 请求和在 python 中解析 html 的文档。专注于这一点,而不是代码的具体工作方式 如果你想说你已经搜索了一些东西,请显示哪些内容不起作用,这样我们就不会关闭你的问题,因为它们可能与其中任何一个重复 你需要同时学习:如何提出请求以及如何将原始 html 转换为汤,然后学习如何使用 beautifulsoup 【参考方案1】:

假设您的 urls.csv 文件如下所示:

https://***.com;code site;
https://steemit.com;block chain social site;

以下代码将起作用:

#!/usr/bin/python
# -*- coding: utf-8 -*-

from bs4 import BeautifulSoup #required to parse html
import requests #required to make request

#read file
with open('urls.csv','r') as f:
    csv_raw_cont=f.read()

#split by line
split_csv=csv_raw_cont.split('\n')

#remove empty line
split_csv.remove('')

#specify separator
separator=";"

#iterate over each line
for each in split_csv:

    #specify the row index
    url_row_index=0 #in our csv example file the url is the first row so we set 0

    #get the url
    url = each.split(separator)[url_row_index] 

    #fetch content from server
    html=requests.get(url).content

    #soup fetched content
    soup=   BeautifulSoup(html)

    #show title from soup
    print soup.title.string

结果:

Stack Overflow - Where Developers Learn, Share, & Build Careers
Steemit

更多信息:beautifulsoup和requests

【讨论】:

感谢 STEFANI,您的示例脚本正是我所需要的。

以上是关于使用 Beautifulsoup 和 Python 从 CSV 中抓取多个 URL的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 和 BeautifulSoup(将网页源代码保存到本地文件中)

使用python抓取并分析数据—链家网(requests+BeautifulSoup)(转)

使用 urllib 和 BeautifulSoup 通过 Python 从 Web 检索信息

python 使用BeautifulSoup和Python从网页中提取文本

如何使用 Python 3.5 和 BeautifulSoup 抓取 href [重复]

Python和BeautifulSoup编码问题[重复]