Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web scraping 如何从URL列表中提取数据以进行web抓取_Web Scraping_Beautifulsoup_Python Requests - Fatal编程技术网

Web scraping 如何从URL列表中提取数据以进行web抓取

Web scraping 如何从URL列表中提取数据以进行web抓取,web-scraping,beautifulsoup,python-requests,Web Scraping,Beautifulsoup,Python Requests,我是一个网络抓取新手,我想从通过URL访问的标记中提取坐标。有一个URL列表,我想从中提取坐标并将其保存在CSV文件中 <div class="single-view-data-row"> <div class="single-view-data-title">Coordinates</div> <div class="single-view-data-get">

我是一个网络抓取新手,我想从通过URL访问的
标记中提取坐标。有一个URL列表,我想从中提取坐标并将其保存在CSV文件中

 <div class="single-view-data-row">
 <div class="single-view-data-title">Coordinates</div>
 <div class="single-view-data-get">
                                 17.009164 N, -90.309259 E<br/><a href="http://geographiclib.sourceforge.net/cgi-bin/GeoConvert?input=17.009164+-90.309259" target="_blank">»» UTM / MGRS</a></div></div></div>

协调
17.009164北纬-90.309259东经

谢谢你的帮助

要从该HTML文本中提取链接和坐标,可以使用以下脚本:

from bs4 import BeautifulSoup

txt = ''' <div class="single-view-data-row">
 <div class="single-view-data-title">Coordinates</div>
 <div class="single-view-data-get">
                                 17.009164 N, -90.309259 E<br/><a href="http://geographiclib.sourceforge.net/cgi-bin/GeoConvert?input=17.009164+-90.309259" target="_blank">»» UTM / MGRS</a></div></div></div>
'''

soup = BeautifulSoup(txt, 'html.parser')

link = soup.select_one('.single-view-data-get a')['href']
coords = soup.select_one('.single-view-data-get').find_next(text=True).split(',')

print(link)
print(coords[0].strip())
print(coords[1].strip())

我不明白你的意思,你显示的是一个包含经度和纬度以及链接的div wheara列表。您想从div中获取经度和纬度吗?但是你提到你已经成功地提取了这个url,所以我猜你想把这个url放在经度/纬度div中?或者你想从url中提取
input=17.009164+-90.309259
?我从其中一个页面抓取了url列表,得到了这个HTML文本。我想从每个链接的坐标是在一个div标签,也在一个网址。无论是从URL还是从div标记中提取,这两种方法都可以工作。
http://geographiclib.sourceforge.net/cgi-bin/GeoConvert?input=17.009164+-90.309259
17.009164 N
-90.309259 E