抓取动态网页(Excel教程Excel函数Excel表格制作Excel2010Excel实用技巧Excel视频教程)

优采云 发布时间: 2022-02-07 00:08

  抓取动态网页(Excel教程Excel函数Excel表格制作Excel2010Excel实用技巧Excel视频教程)

  我想抓取一个网页:

  我需要所有商店名称、电话号码及其地址的数据

  但我最多只能做10个

  导致加载需要滚动页面的其他项目

  我的代码:

  import requests

import bs4

crawl_url = requests.get('https://www.justdial.com/Mumbai/Dairy-Product-

Retailers-in-Thane/nct-10152687', headers={'User-Agent': 'Mozilla/5.0'})

crawl_url.raise_for_status()

soup = bs4.BeautifulSoup(crawl_url.text, 'lxml')

for elems in soup.find_all('span', class_="jcn"):

select_a = elems.select('a')

for links in select_a:

href = links.get('href')

res = requests.get(href, headers={'User-Agent': 'Mozilla/5.0'})

xsoup = bs4.BeautifulSoup(res.text, 'lxml')

Name = xsoup.select('.fn')

tel = xsoup.select('.tel')

add = xsoup.select('.adrstxtr')

a = Name[0]

b = tel[0]

c = add[0]

print(a.getText())

print("--"*10)

print(b.getText())

print("--"*10)

print(c.getText())

print("=="*25)

  当我们向下滚动页面时会加载其他项目

  所以我想知道如何获得尽可能多的数据/项目

  我试过

  但是没有悄悄理解好,我也没有得到那个POST方法:/

  如果您需要更多信息,请与我们联系

  最佳答案

  tmadam 给出的解决方案有效

  这是代码

  import requests

import bs4

def spider(max_pages):

page = 1

while page < max_pages:

url = "https://www.justdial.com/Mumbai/Dairy-Product-Retailers-in-

Thane/nct-10152687/page-%s" % page

crawl_url = requests.get(url, headers={&#39;User-Agent&#39;: &#39;Mozilla/5.0&#39;})

crawl_url.raise_for_status()

soup = bs4.BeautifulSoup(crawl_url.text, &#39;lxml&#39;)

for elems in soup.find_all(&#39;span&#39;, class_="jcn"):

select_a = elems.select(&#39;a&#39;)

for links in select_a:

href = links.get(&#39;href&#39;)

res = requests.get(href, headers={&#39;User-Agent&#39;:

&#39;Mozilla/5.0&#39;})

xsoup = bs4.BeautifulSoup(res.text, &#39;lxml&#39;)

Name = xsoup.select(&#39;.fn&#39;)

tel = xsoup.select(&#39;.tel&#39;)

add = xsoup.select(&#39;.adrstxtr&#39;)

a = Name[0]

b = tel[0]

c = add[0]

print(a.getText())

print("--"*10)

print(b.getText())

print("--"*10)

print(c.getText())

print("=="*25)

page += 1

spider(3)

  关于 python - Beautifulsoup - 抓取网页 - 动态加载页面,我们在 Stack Overflow 上发现了一个类似的问题:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线