使用 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从网页中提取文本