日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scrapy从安装到爬取煎蛋网图片

發布時間:2023/11/30 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scrapy从安装到爬取煎蛋网图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下載地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/
pip install wheel
pip install lxml
pip install pyopenssl
pip install Twisted
pip install pywin32
pip install scrapy

scrapy startproject jandan 創建項目
cd?jandan
cd?jandan

items.py 存放數據
pipelines.py 管道文件

?

由于煎蛋網有反爬蟲措施,我們需要做一些處理

settings文件

ROBOTSTXT_OBEY = False #不遵尋reboot協議 DOWNLOAD_DELAY = 2 #下載延遲時間 DOWNLOAD_TIMEOUT = 15 #下載超時時間 COOKIES_ENABLED = False #禁用cookie

DOWNLOADER_MIDDLEWARES = {
#請求頭
'jandan.middlewares.RandomUserAgent': 100,
#代理ip
'jandan.middlewares.RandomProxy': 200,
} #請求列表
USER_AGENTS = [
#遨游
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)",
#火狐
"Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
#谷歌
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"
]

#代理ip列表
PROXIES = [
{"ip_port":"119.177.90.103:9999","user_passwd":""},
#代理ip無密碼
{"ip_port":"101.132.122.230:3128","user_passwd":""},
#代理ip有密碼
# {"ip_port":"123.139.56.238:9999","user_passwd":"root:admin"}
] #管道文件,取消注釋
ITEM_PIPELINES = {
'jandan.pipelines.JandanPipeline': 300,
} IMAGES_STORE = "images"

?

middlewares文件 import random import base64 from jandan.settings import USER_AGENTS from jandan.settings import PROXIESclass RandomUserAgent(object):def process_request(self,request,spider):useragent = random.choice(USER_AGENTS)request.headers.setdefault("User-Agent",useragent)class RandomProxy(object):def process_request(self,request,spider):proxy = random.choice(PROXIES)if proxy["user_passwd"] is None:request.meta["proxy"] = "http://" + proxy["ip_port"]else:# b64編碼接收字節對象,在py3中str是unicode,需要轉換,返回是字節對象base64_userpasswd = base64.b16encode(proxy["user_passwd"].encode())request.meta["proxy"] = "http://" + proxy["ip_port"]#拼接是字符串,需要轉碼request.headers["Proxy-Authorization"] = "Basic " + base64_userpasswd.decode()

?

?

items文件

import scrapyclass JandanItem(scrapy.Item):name = scrapy.Field()url = scrapy.Field()

?

scrapy genspider ?-t crawl dj jandan.net 創建crawlscrapy類爬蟲
會自動在spiders下創建jandan.py文件,頁面由js編寫,需要BeautifulSoup類定位js元素獲取數據

# -*- coding: utf-8 -*- import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule from jandan.items import JandanItem from selenium import webdriver from bs4 import BeautifulSoup as bs4class JdSpider(CrawlSpider):name = 'jd'allowed_domains = ['jandan.net']start_urls = ['http://jandan.net/pic/page-1#comments/']rules = (Rule(LinkExtractor(allow=r'pic/page-\d+'), callback='parse_item', follow=True),)def parse_item(self, response):item = JandanItem()driver = webdriver.PhantomJS()driver.get(response.url)soup = bs4(driver.page_source, 'html.parser')all_data = soup.find_all('div', {'class': 'row'})for i in all_data:name = i.find("strong")item["name"] = name.get_text().strip()link = i.find('a', {'class': 'view_img_link'})url = link.get("href")if len(url) == 0:returnitem["url"] = "http://" + url.split("//")[-1]yield item

?

pipelines.py

import json import os import requests from scrapy.conf import settingsclass JandanPipeline(object):
   #保存為json文件
# def __init__(self):# self.filename = open("jandan.json","wb")# self.num = 0# # def process_item(self, item, spider):# text = json.dumps(dict(item),ensure_ascii=False) + "\n"# self.filename.write(text.encode("utf-8"))# self.num += 1# return item# # def close_spider(self,spider):# self.filename.close()# print("總共有" + str(self.num) + "個資源")
  #下載到本地def process_item(self, item, spider):if 'url' in item:dir_path = settings["IMAGES_STORE"]if not os.path.exists(dir_path):os.makedirs(dir_path)su = "." + item["url"].split(".")[-1]path = item["name"] + sunew_path = '%s/%s' % (dir_path, path)if not os.path.exists(new_path):with open(new_path, 'wb') as handle:response = requests.get(item["url"], stream=True)for block in response.iter_content(1024):if not block:breakhandle.write(block)return item

?

?


scrapy crawl dj 啟動爬蟲


scrapy shell "https://hr.tencent.com/position.php?&start=0" 發送請求

?

?奉上我的github地址,會定期更新項目

https://github.com/bjptw/workspace

?

轉載于:https://www.cnblogs.com/bjp9528/p/9318013.html

總結

以上是生活随笔為你收集整理的scrapy从安装到爬取煎蛋网图片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美另类自拍 | 色欧洲| 亚洲午夜精品在线 | 男女无遮挡猛进猛出 | 久久久久久久久久久久久久av | 荷兰女人裸体性做爰 | 无遮挡aaaaa大片免费看 | 天堂在线视频免费观看 | 香蕉久久av一区二区三区 | 色婷婷在线视频 | 天天天天天天操 | 激情视频网址 | 视频在线国产 | 宅男噜噜噜 | 亚洲午夜久久久久 | 日韩欧美在线观看视频 | 午夜在线观看视频 | 性——交——性——乱免费的 | 一级全黄毛片 | 久久国产欧美日韩精品 | 中文av在线播放 | 99热久久这里只有精品 | 欧美 亚洲 另类 偷偷 自拍 | 国产成人欧美 | 色噜噜狠狠一区二区三区果冻 | 久久久久香蕉视频 | 精品亚洲乱码一区二区 | 色中文字幕在线观看 | 四虎少妇做爰免费视频网站四 | 狠狠网 | 色人阁网站 | 国产视频福利在线观看 | 五月精品 | 国产九色在线播放九色 | www.激情五月.com | 中文字幕有码av | 91快射 | 人民的名义第二部 | 懂色av一区二区三区蜜臀 | 在线播放ww| 黄瓜视频91| 精品国产18久久久久久二百 | 免费在线观看日韩 | 男人操女人免费视频 | 精品国自产拍在线观看 | 欧美日韩国产免费一区二区三区 | 中文字幕一区二区三区乱码在线 | 色就是色亚洲色图 | 久久伊人五月天 | 麻豆app在线观看 | 中国女人裸体乱淫 | 小黄网站在线观看 | 日本一级大毛片a一 | 看特级毛片 | 日韩在线一二三区 | 北条麻妃一区二区三区在线观看 | 亚州av免费| 色播五月激情五月 | 奶水旺盛的少妇在线播放 | 四虎成人精品永久免费av | 一区二区美女视频 | 亚洲精选久久久 | 69av在线视频 | 99色网站 | 亚洲欧美精选 | 欧美日韩中文在线视频 | 一区二区三区av在线 | 国产精品久久久久久免费播放 | 91激情| exo妈妈mv在线播放免费 | 国产高清无密码一区二区三区 | 久久久精品国产sm调教 | 中文字幕久久综合 | 热久久久久 | 丝袜在线视频 | 亚洲乱码中文字幕久久孕妇黑人 | 精品一区免费观看 | 欧美性猛交69| 久久精品无码毛片 | 久久久久久九九九九 | 51自拍视频| 午夜精品一区二区三 | 国产成人无码aa精品一区 | 黄色麻豆视频 | 国产高清视频免费观看 | 五月天激情电影 | www.日韩在线| 日韩极品少妇 | 蜜乳av 懂色av 粉嫩av | 视频一区日韩 | 亚洲欧美日韩专区 | 成人黄色免费网 | 成人a免费| 色网址在线观看 | 极品探花在线观看 | 白嫩初高中害羞小美女 | 色一情一交一乱一区二区三区 | 在线免费av网站 | 黄色私人影院 |