采集url地址
from urllib.parse import urljoin #url拼接
import re #正则
import requests
from bs4 import BeautifulSoup
def main():
headers = {'user-agent': 'Baiduspider'}
proxies = {
'http': '代理'
}
base_url = '目标网址'
seed_url = urljoin(base_url, '拼接的地址') #urljoin() 拼接两个网址 base_url为最初始域名
resp = requests.get(seed_url,
headers=headers,
proxies=proxies) # 使用get方法,获取这个URL地址内容
soup = BeautifulSoup(resp.text, 'lxml') #resp.text 读取获取到的内容
href_regex = re.compile(r'正则表达式') #返回的是一个匹配对象
link_set = set() #set() 函数创建一个无序不重复元素集
for a_tag in soup.find_all('a', {'href': href_regex}): #findAll()找到所有满足条件的标签返回
if 'href' in a_tag.attrs:
href = a_tag.attrs['href']
full_url = urljoin(base_url, href) #拼接地址
link_set.add(full_url) #add() 方法用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作
print('Total %d question pages found.' % len(link_set))
if __name__ == '__main__':
main()