浏览器抓取网页(1.请正确使用网页爬虫非法数据影响他人服务器的正常工作)

优采云 发布时间: 2021-10-07 03:14

  浏览器抓取网页(1.请正确使用网页爬虫非法数据影响他人服务器的正常工作)

  1.请正确使用网络爬虫,不要使用爬虫对非法数据进行爬网,也不要影响其他服务器的正常工作

  2.本文抓取的数据是跨境网站商品的公共信息。本文仅用于学习和交流

  3.本文附带源代码。爬行时间间隔为10s,数据采集量大于2000

  单击此处获取本文的源代码

  任务目标

  捕获电子商务大数据网站背景下披露的数千个商品数据,并将数据保存在Excel中进行数据分析

  

  难度分析

  您需要登录网站会员账号才能在后台查看数据网站反爬网已经设置,因此很难模拟登录。使用selenium控制Chrome浏览器。在测试模式下网站可以识别,无法正常登录账号。数据只有在页面刷新后才能正常显示

  解决困难

  在线搜索隐藏selenium功能的各种方法失败,因此通过selenium打开新浏览器的方法将不起作用。此外,许多网站可以通过多种功能识别您是否使用了selenium

  

  2.根据研究,可以通过向selenium添加debuggeraddress来控制在该端口上打开的浏览器

  (1)输入chrome.exe所在的文件夹,在地址栏中输入“CMD”,然后在此路径下打开CMD窗口

  

  (2)在CMD窗口中,输入以下命令以打开新的Chrome浏览器窗口,在此窗口中打开目标网站,然后登录到成员帐户

  

  (3)在Python代码中,为selenium添加选项。此处添加的端口地址应与上面CMD命令中的端口一致

  chrome_options = webdriver.ChromeOptions()

chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")

  3.您可以通过每次访问和刷新页面获得整个页面的HTML代码,然后使用beatifulsoup进行网页分析,提取商品的有用信息

   driver.get(url)

driver.refresh()

time.sleep(10)

html = driver.find_element_by_xpath("//*").get_attribute("outerHTML")

soup = BeautifulSoup(html,'html.parser')

  程序逻辑

  1.通过打开的浏览器访问目标网站,登录到成员帐户,并转换数据页

  # 使用网页驱动来运行chrome浏览器

chrome_options = webdriver.ChromeOptions()

chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")

driver = webdriver.Chrome(r"C:\Users\E490\Anaconda3\Scripts\chromedriver",options=chrome_options)

# 访问网站首页,停留15s,人工登录后,自动刷新页面,停留10s,并搜索关键词

driver.get(url)

driver.refresh()

time.sleep(10)

html = driver.find_element_by_xpath("//*").get_attribute("outerHTML")

soup = BeautifulSoup(html,'html.parser')

  2.分析需要通过浏览器F12获取字段的HTML代码,并能够解析要通过beautiful soup库交换的数据字段

  #产品标题

item_name = items_content[0].p['title']

#店铺名称

shop_name = items_content[1].text.strip()

#店铺类型

shop_type = items_content[2].text.strip()

#店铺类目

shop_categroy =items_content[3].text.strip()

#商品折扣价

item_discount_price = items_content[4].text.strip()

  3.将采集到的数据及时保存到CSV文件中

   #打开csv文件

csv_title = 'lazada'+str(random.randint(100,999))+'.csv'

f = open(csv_title,'a',encoding='utf-8',newline='')

# 基于文件对象构建 csv写入对象

csv_writer = csv.writer(f)

# 构建列表头

csv_writer.writerow(["产品标题","店铺名称","店铺类型","店铺类目","商品折扣价","商品评分","累积评论数"])

  4.优化代码,使其能够完成100多个网页的循环访问

  5.查看获取的跨境电商商品数据

  

  单击此处获取本文的源代码

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线