抓取网页数据违法吗(1.请正确使用网页爬虫非法数据影响他人服务器的正常工作)
优采云 发布时间: 2021-12-05 17:01抓取网页数据违法吗(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代码,可以通过BeautifulSoup库解析需要交换的数据字段。
#产品标题
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.查看获取的跨境电商商品数据。
点击此处获取本文源码