Python 파충류 프레임 워 크 Scrapy 기본 용법 입문 강좌
Xpath
<html>
<head>
<title> </title>
</head>
<body>
<h2> </h2>
<p> 1</p>
<p> 2</p>
</body>
</html>
상기 html 코드 에서 h2 의 내용 을 얻 으 려 면 다음 코드 를 사용 하여 얻 을 수 있 습 니 다.
info = response.xpath("/html/body/h2/text()")
이 를 통 해 알 수 있 듯 이/html/body/h2 는 내용 의 차원 구조 이 고text()
는 h2 라벨 을 가 져 온 내용 입 니 다.//p
모든 p 탭 을 가 져 옵 니 다.구체 적 인 속성 이 있 는 탭 가 져 오기://탭[@속성="속성 값"]
<div class="hide"></div>
class 를 hide 로 하 는 div 탭 가 져 오기
div[@class="hide"]
예 를 들 어 Google Chrome 브 라 우 저의 Console 인터페이스 에서$x['//h2']
명령 을 사용 하여 페이지 의 h2 요소 정 보 를 가 져 옵 니 다.xmlfeed 템 플 릿
xmlfeed 템 플 릿 을 만 드 는 파충류
scrapy genspider -t xmlfeed abc iqianyue.com
핵심 코드:
from scrapy.spiders import XMLFeedSpider
class AbcSpider(XMLFeedSpider):
name = 'abc'
start_urls = ['http://yum.iqianyue.com/weisuenbook/pyspd/part12/test.xml']
iterator = 'iternodes' # , iternodes, 。 iternodes, “html” “xml”
itertag = 'person' # ( )
# parse_node
def parse_node(self, response, selector):
i = {}
xpath = "/person/email/text()"
info = selector.xpath(xpath).extract()
print(info)
return i
csvfeed 템 플 릿csvfeed 템 플 릿 을 만 드 는 파충류
scrapy genspider -t csvfeed csvspider iqianyue.com
핵심 코드
from scrapy.spiders import CSVFeedSpider
class CsvspiderSpider(CSVFeedSpider):
name = 'csvspider'
allowed_domains = ['iqianyue.com']
start_urls = ['http://yum.iqianyue.com/weisuenbook/pyspd/part12/mydata.csv']
# headers csv
headers = ['name', 'sex', 'addr', 'email']
# delimiter
delimiter = ','
def parse_row(self, response, row):
i = {}
name = row["name"]
sex = row["sex"]
addr = row["addr"]
email = row["email"]
print(name,sex,addr,email)
#i['url'] = row['url']
#i['name'] = row['name']
#i['description'] = row['description']
return i
크롤 피 드 템 플 릿crawlfeed 템 플 릿 을 만 드 는 파충류
scrapy genspider -t crawlfeed crawlspider sohu.com
핵심 코드
class CrawlspiderSpider(CrawlSpider):
name = 'crawlspider'
allowed_domains = ['sohu.com']
start_urls = ['http://sohu.com/']
rules = (
Rule(LinkExtractor(allow=r'Items/'), callback='parse_item', follow=True),
)
def parse_item(self, response):
i = {}
#i['domain_id'] = response.xpath('//input[@id="sid"]/@value').extract()
#i['name'] = response.xpath('//div[@id="name"]').extract()
#i['description'] = response.xpath('//div[@id="description"]').extract()
return i
위의 코드 rules 부분 에 있 는 링크 Extractor 는 연결 추출 기 입 니 다.LinkExtractor 에 대응 하 는 매개 변수 및 의미
매개 변수 이름
매개 변수 의미
allow
정규 표현 식 에 맞 는 링크 추출
deny
정규 표현 식 에 맞 는 링크 를 추출 하지 않 음
restrict_xpaths
XPath 표현 식 과 allow 의 공동 작용 을 사용 하여 XPath 표현 식 과 정규 표현 식 에 대응 하 는 링크 를 추출 합 니 다.
allow_domains
도 메 인 이름 을 추출 할 수 있 습 니 다.예 를 들 어 도 메 인 이름 의 링크 만 추출 하려 고 할 때 사용 합 니 다.
deny_domains
추출 한 도 메 인 이름
더 많은 파 이 썬 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.