当前位置:   article > 正文

python自动化搜索_使用Python自动化Web搜索

python发布能输入检索的web服务

你有两个问题合并成一个,所以这里有一个部分的答案开始。第一个任务涉及HTML解析,所以让我们使用python库:requests和beautifulsoup4(如果还没有的话,pip安装beautifulsoup4)。在import requests

from bs4 import BeautifulSoup

r = requests.get('http://www.tamswithmark.com/shows/anything-goes-beaumont-1987/')

soup = BeautifulSoup(r.content, 'html.parser')

rows = soup.findAll('tr', {"class": "upcoming_performance"})

soup是页面内容的可导航数据结构。我们在soup上使用findAll方法来提取“tr”元素,类为“uncoming_performance”。行中的单个元素看起来像:

^{pr2}$

现在,让我们将这些行中的数据提取到我们自己的数据结构中。对于每一行,我们将为该性能创建一个字典。在

每个tr元素的data-*属性可通过字典键查找获得。在

可以使用.children(或.contents)属性访问每个tr元素内的'td'元素。在performances = [] # list of dicts, one per performance

for tr in rows:

# extract the data-* using dictionary key lookup on tr

p = dict(

lat=float(tr['data-lat']),

lng=float(tr['data-lng']),

zipcode=tr['data-zip']

)

# extract the td children into a list called tds

tds = [child for child in tr.children if child != "\n"]

# the class of each td indicates what type of content it holds

for td in tds:

key = td['class'][0] # get first element of class list

p[key] = td.string # get the string inside the td tag

# add to our list of performances

performances.append(p)

在这一点上,我们有一个字典的表演清单。每个dict中的键是:

纬度:浮动

液化天然气:浮式

邮政编码:str

城邦性能:str

绩效组织:str

等等

HTML提取完成。下一步是使用mappingapi服务,该服务将从所需位置到性能的lat/lng值进行比较。例如,您可以选择使用googlemaps地理编码API。这里有很多现有的回答问题,以指导你。在

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/616496
推荐阅读
相关标签
  

闽ICP备14008679号