【项目一】1.blackview_readme
//F盘url.txt文件现在有几个链接,现在需要python程序爬取文件中所有链接的网页源码,并在这些网页源码中筛选包含/products/item/的链接,按字母或数字排序,去重后分别新建txt文件存储在F盘上。https://www.blackview.hk/
一、我现在想用python程序获取https://www.blackview.hk/这个url的网页源码,从源码中提取所有包含“products/”+数字的链接,将重复的链接去重,按字母或数字排序,然后写入F盘url.txt文件。
二、我现在想用python程序获取https://www.blackview.hk/products/58这个url的网页源码,从源码中提取所有包含"/products/item/"的链接,链接去重,按字母或数字排序,然后写入F盘url.txt文件。
三、我现在想用python程序获取https://www.blackview.hk/products/58这个url的网页源码,只保留class="goods-list"标签下的li标签下的a标签和p标签的内容,只保留内容,以逗号分隔,然后写入F盘url.txt文件,去除首尾的空字符或换行。
我现在想用python程序获取https://www.blackview.hk/products/58这个url的网页源码,只保留class="goods-list"标签下的内容,把完全不包含数字的行删除,然后写入F盘url.txt文件。
我现在想用python程序获取https://www.blackview.hk/products/58这个url的网页源码,只保留class="goods-list"标签下a标签的链接,且链接内容必须包含/products/item,去掉重复内容,并计算标签数写在首行,然后写入F盘url.txt文件。我现在想用python程序获取https://www.blackview.hk/products/item/tab12这个url的网页源码,只保留 class="left" class="right"或者class="li-tit"
class="li-msg"中的内容,去除首尾的空字符或换行然后写入F盘url.txt文件。
class="left" class="right" class="li-tit" class="li-msg"
step1:
import requestsimport re # 发起GET请求获取网页源码 url = 'https://www.blackview.hk/' response = requests.get(url) html = response.text # 使用正则表达式提取所有符合条件的链接 pattern = r'<a\s+(?:[^>]*?\s+)?href="/products/(\d+)"' links = re.findall(pattern, html) # 去重链接 unique_links = list(set(links)) # 将链接写入文件 file_path = 'F:/url.txt' with open(file_path, 'w') as file: for link in unique_links: file.write(f"{url}products/{link}\n") print('链接已保存到', file_path)
step2:
import requests from bs4 import BeautifulSoup # 指定要获取源码的页面链接 url = 'https://www.blackview.hk/products/58' # 发送GET请求以获取页面源码 response = requests.get(url) # 从源码中提取包含“/products/item/”字符串的链接并去重 soup = BeautifulSoup(response.content, 'html.parser') links = set() for link in soup.find_all('a'): href = link.get('href') if href and '/products/item/' in href: links.add(href) # 根据链接内容进行排序 sorted_links = sorted(links, key=lambda x: (x.isdigit(), x)) # 将链接写入F盘url.txt文件 file_path = 'F:/url.txt' with open(file_path, 'w', encoding='utf-8') as file: for link in sorted_links: file.write(link + '\n')