как использовать переменную, которая имеет информацию тега в xpath для извлечения - PullRequest
0 голосов
/ 28 июня 2018

Я пишу код Scrapy, который принимает URL, теги, где мои данные, которые будут очищены, сохраняются из файла CSV. Этот тег, который я назначаю временной переменной, такой как z (имеющей h1), av (имеющей title), a (имеющей td) и т. Д. Когда я использую эту переменную в xpath, она ничего не извлекает из этого тега. Может кто-нибудь мне помочь

import pandas as pd
import requests
from scrapy.http import TextResponse

x=pd.read_csv(r'C:\Users\ndewan\Desktop\pattern-swage.csv', encoding="utf-8")
x=x.replace('<','',regex=True).replace('>','',regex=True)

url=str(x.iloc[0,0]) 
r = requests.get(url)
response = TextResponse(r.url, body=r.text, encoding='utf-8')
z=x.iloc[0,1]
s=x.iloc[0,2]
an=x.iloc[0,3]
av=x.iloc[0,4]
part=response.xpath('//av//text()').extract()
print(part)
print(url)
print(z)

1 Ответ

0 голосов
/ 29 июня 2018

Поскольку вы используете переменные, вы должны обозначить их $ и указать их значение в качестве аргумента ключевого слова для документов .

part=response.xpath('//$av//text()', av = av).extract()

В качестве альтернативы, если вы предпочитаете, используйте форматирование строки.

part=response.xpath(f'//{av}//text()').extract()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...