【发布时间】:2019-09-30 07:32:18
【问题描述】:
我正在创建一个网络抓取工具,并尝试请求多个共享相同 url 路径的 url,但编号 id 除外。
我抓取一个网址的代码如下:
import requests
from bs4 import BeautifulSoup as bs
r = requests.get('https://beta.companieshouse.gov.uk/company/00930291/officers')
soup = bs(r.content, 'lxml')
names = [item.text.strip() for item in soup.select('[class^=appointment]:not(.appointments-list):has([id^="officer-role-"]:contains(Director)) h2')]
print(names)
除了公司编号之外,网址具有相同的结构。我尝试了以下代码来尝试让它抓取多个页面,但没有成功:
import requests
from bs4 import BeautifulSoup as bs
pages = []
for i in range(11003058, 11003059, 00930291):
```url = 'https://beta.companieshouse.gov.uk/company/' + str(i) + '/officers'
```pages.append(url)
for item in pages:
```page = requests.get(item)
```soup = bs(page.text, 'lxml')
names = [item.text.strip() for item in soup.select('[class^=appointment]:not(.appointments-list):has([id^="officer-role-"]:contains(Director)) h2')]
print(names)
这只是给了我第一页(/11003058/officers),为什么它没有循环通过它们?有人可以帮忙吗?
【问题讨论】:
标签: python python-3.x loops url request