爬取pik.ru仓储页面后内容丢失问题排查求助
爬取页面内容丢失问题排查求助
我尝试爬取网站 https://www.pik.ru/search/vangarden/storehouse,已成功获取页面HTML并写入文件,但后续读取或解析时大量信息丢失。
内容对比示例
- 页面实际内容(截图1,未展示全部):

- 操作后获取的内容(截图2):

请帮忙排查操作中的问题,谢谢!
我的代码
import requests from bs4 import BeautifulSoup import undetected_chromedriver import time import os url = 'https://www.pik.ru/search/storehouse' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0' } proxies = { 'https': 'http://146.247.105.71:4827' } def download_pages_objects(url): if os.path.isfile(r'C:\Users\kraz1\OneDrive\Рабочий стол\Антон\python\парсинг\кладовочная\pik_links.txt') == True: os.remove( r'C:\Users\kraz1\OneDrive\Рабочий стол\Антон\python\парсинг\кладовочная\pik_links.txt') list_links = [] req = requests.get(url, headers=headers, proxies=proxies) soup = BeautifulSoup(req.text, "lxml") for i in soup.find_all("a", class_="styles__ProjectCard-uyo9w7-0 friPgx"): list_links.append('https://www.pik.ru'+i.get('href')+'\n') with open(r'C:\Users\kraz1\OneDrive\Рабочий стол\Антон\python\парсинг\кладовочная\pik_links.txt', 'a') as file: for link in list_links: file.write(link) def get_list_objects_links(url): download_pages_objects(url) list_of_links = [] with open(r'C:\Users\kraz1\OneDrive\Рабочий стол\Антон\python\парсинг\кладовочная\pik_links.txt', 'r') as file: for item in file: list_of_links.append(item) return list_of_links list_links = get_list_objects_links(url) count = 0 for link in list_links: req = requests.get(link.replace('\n', ''), headers=headers, proxies=proxies) with open('1.html', 'w') as file: file.write(req.text) soup = BeautifulSoup(req.text, 'lxml') print(req.text, '\n\n\n') print(soup.find_all('div', ''), '\n\n\n') with open('1.html', 'r') as file: scr = file.read() print(scr, '\n\n\n') soup = BeautifulSoup(scr, 'lxml') print(soup) count += 1 if count == 1: break
已尝试的解决方法
- 不写入文件直接操作
- 更换过lxml、xml、html.parser解析器
但均无效果(或操作有误)
内容的提问来源于stack exchange,提问作者POPIF
相关产品推荐
相关产品推荐

